A razão de S. Petersburgo não ser aceitável é simples: não há em nenhum panteão um santo chamado Petersburgo. Em português não faltam nomes de santos dados a lugares: a cidade de S. Paulo, o Miradouro de Santa Luzia, a ilha de S. Vicente — um sem-fim de santos por todo o mundo. O que não há é nomes como S. Petersburgo, que só se explica pela influência da designação inglesa Saint Petersburg depois de a cidade ter mudado de nome em 1991, uma incongruência que mais depressa desmente a autoridade de um prontuário do que é legitimada por ele.
Quando o czar Pedro, o Grande, decidiu construir de raiz uma cidade na costa do Báltico num território pouco antes conquistado aos Suecos, deu-lhe o nome do seu santo, ou seja, chamou-lhe Cidade de S. Pedro. Não foi por modéstia nem por respeito pela cultura do povo vencido que lhe deu um nome germânico. Escolheu simplesmente a língua dos Países Baixos, de que gostava.
Sampetersburgo não é de facto uma palavra russa. Petrogrado, como o czar Nicolau II patrioticamente chamou à cidade em 1914, quando a Rússia entrou em guerra com a Alemanha, é bem mais russo. Gorod é uma palavra eslava antiga que passou para várias línguas modernas, entre as quais o russo, com o significado de cidade. Petrogrado queria por isso dizer Cidade de Pedro. Mais tarde ainda se chamou Leninegrado, e foi com esse nome que resistiu a uma nova investida germânica, durante a segunda guerra mundial, mas em 1991 tudo voltou ao princípio.
Nos jornais em português anteriores à última mudança, o que aparecia nas notícias da atualidade era Leninegrado; nos livros de história, a autoridade do Vocabulário de Rebelo Gonçalves dominava e em geral quando se referia a cidade fundada pelo velho czar na foz do Neva escrevia-se Sampetersburgo. Depois de 1991, as fontes quase sempre em inglês do jornalismo, adaptadas à pressa, generalizaram a forma que hoje predomina. Mas as origens deste mau hábito são tão claras e recentes e o resultado tem tão pouca graça que era bem melhor que nos deixássemos de patetices.

Não acho que nomes de cidades ou países devam ser adaptados ou traduzidos! Se o nome russo da cidade é Санкт-Петербу́рг, transliterado como Sankt-Peterburg, assim ela deveria ser chamada em qualquer idioma! Acho horrível ver o nome da minha amada Reykjavík adaptado para Reiquiavique