Географические названия обычно не склоняются в случаях, когда род обобщающего нарицательного слова и топонима не совпадают. Верно: на реке Волге, но: на реке Енисей.
Корректно: на берегу реки Упы.
Правильно: река Ганг. Но: река Ганга, если речь идет о небесной реке, вытекшей из пальца Вишну (в древнеиндийской мифологии).
Грамматически в этих примерах два слова: определяемое слово (Волга, царь) со следующим непосредственно за ним однословным приложением (матушка, батюшка). Лексически подобные сочетания имеют тенденцию превращаться в устойчивые выражения (фразеологизироваться), поэтому могут восприниматься носителями языка как одна языковая единица.
Правильно. С географическим термином река наблюдается тенденция склонять названия женского рода и не склонять названия мужского рода: у реки Волги, но на реке Енисей.
Все названия нужно оставить в начальной форме.
Да, склоняются: на р. Оке.