I woule adjust city density based on surroundings. I remember getting lost in Maps.me while in northern Russia: zooming out will not display any tiny villages of the area whereas zooming in will not place any of those on the screen. So you got a blank slate.
Meanwhile, displaying every suburb of a metropolis possessing a town status may be superfluous.
That's the way to do it. You get the map area, divide it by a constant and get the number of stuff your map should display. Then it's a matter of getting the largest-n stuff from the database.
You can always zoom to a level such that there's nothing there. And if all that is there is a few small villages, then "nothing there" isn't far of the mark anyway.
If you include smaller cities to 'fill in blank spaces', then either:
a) You'd have to drop a bigger city/suburb elsewhere. Not display a 1M town to be able to display a 10k town in thinly populated area elsewhere? Hmmm...
b) Or the app get bigger. Which defeats the purpose of having a tiny world map.
Meanwhile, displaying every suburb of a metropolis possessing a town status may be superfluous.