I'm confronted with the question of naming places quite a lot at work - as a translator and editor - and generally I would look for official sources in making my decision. The city's own website, for instance, which is often translated into English. Some dictionaries (eg Oxford Spelling Dictionary) also give recommendations for place names, as does the Encylopedia Britannica.
If we have an English name for a foreign city or country, it will be because centuries ago consistency wasn't as important. If a name was difficult to pronounce, and was important for trade or political reasons, people would say the nearest approximation to that, until that name became official in writing too. The separate name only remains if the city keeps its importance, on the whole, because people can't be arsed to remember a name that they won't need. Munich people know because it's a big city, but who knows nowadays that Braunschweig used to be Brunswick? Who cares?
Names in Asia and Celtic countries are reverting back to the original languages as a statement that they have overcome their colonial history. Beijing is pretty well accepted these days as the official term, whereas Mumbai/Bombay is more mixed, and I don't think the BBC uses Kolkata for Calcutta, even though that is used by the (marxist) city government, I believe (must check...).
It gets interesting with the names for Burma/Myanmar. The UK refuses to recognise Myanmar because it does not acknowledge the military regime, and thus the BBC uses Burma. Yet on German news the country is called Myanmar, because it is one of many countries that does recognise the system.
Anyone interested in the politics of name changing should read/go to see Brian Friel's Translations, which deals with the anglicisation of Irish names in the 19th century.