Комсомольск-на-Амуре, Комсомольска-на-Амуре
Ответы справочной службы
Если без такой тавтологии не обойтись, то ее можно хотя бы обыграть. Например: Город Комсомольск-на-Амуре, как нетрудно догадаться, получил такое название потому, что он расположен на берегу реки Амур.
Есть правило: служебные слова (как русские, так и иноязычные) в середине составных названий выделяются двумя дефисами, напр.: Ростов-на-Дону, Комсомольск-на-Амуре, Франкфурт-на-Майне, Булонь-сюр-Мер, Па-де-Кале, Рио-де-Жанейро и т. д.
Правильно раздельное написание: Спас на Крови. См.: Русский орфографический словарь РАН / Под ред. В. В. Лопатина, О. Е. Ивановой. – 4-е изд., испр. и доп. – М., 2012. Служебные слова выделяются двумя дефисами в середине составных географических названий: Ростов-на-Дону, Комсомольск-на-Амуре. В названиях храмов дефисы не пишутся, ср.: Спас на Бору, церковь Покрова на Нерли.
Справочники
§ 125. Пишутся слитно: Названия со вторыми частями -город, -град, -дар, -бург, напр.: Звенигород, Белгород, Ивангород, Калининград, Волгоград, Краснодар, Екатеринбург (но: Китай-город). Названия с первыми частями Старо-, Верхне-, Нижне-, Средне-, Ближне-, Дальне-, а также Бело-, Красно-, Черно- и т. п., напр.: Старобельск, Верхнетуринск, Нижнеангарск, Дальнереченск, Белоостров (поселок), Красноуральск, Черноисточинск. Примечание Первая часть Ново- может ...
...Географические названия...
....: Ростов-на-Дону, Комсомольск-на-Амуре, Франкфурт-на-Майне, Черна-над-Тисой, Стратфорд-он-Эйвон, Булонь-сюр-Мер, Па-де-Кале, Рио-де-Жанейро, Сантьяго-дель-Эстеро, Сен-Женевьев-де-Буа, Дар-эс-Салам....
§ 78. Пишутся слитно: 1. Сложные имена существительные, образованные при помощи соединительных гласных, а также все образования с аэро-, авиа-, авто-, мото-, вело-, кино-, фото-, стерео-, метео-, электро-, гидро-, агро-, зоо-, био-, микро-, макро-, нео-, например:
...II. Имена существительные...
...Сочетания слов, имеющие значение существительных, если в состав таких сочетаний входят: а) глагол в личной форме, например: не-тронь-меня (растение), любишь-не-любишь (цветок); б) союз, например: иван-да-марья (растение); в) предлог, например: Ростов-на-Дону, Комсомольск-на-Амуре...