И тем не менее правильно: в городе Туле. А лучше просто: в Туле.
С родовым словом это название не склоняется. Подробно см. в Письмовнике.
Верно: в городе Санкт-Петербурге.
Верны оба варианта. Первый предпочтителен, поскольку при склонении (в городе Балабанове) приходится восстанавливать начальную форму: Балабаново или Балабанов?
Первая часть названия не изменяется: в Гусь-Хрустальном, в городе Гусь-Хрустальном.
Правильно: в городе Рязани.
Строгая литературная норма требует склонять русские и хорошо освоенные иноязычные названия городов в сочетании со словом город: в городе Байконуре. Отсутствие согласования (в городе Байконур) можно встретить в официально-деловом стиле, в административно-судебной речи.
Правильно: в городе Ростове.
См. в Горячей десятке вопросов.
Правильно: панорама города Пятигорска.