I have an idea to put an end to city spam, well at least for the early game.
CITY SPAM
Each city needs to be managed by someone, but not just anyone: someone you can trust. Champions are only loyal to your money, so your best choice is your children. Your Channeler has his hands full with managing your first city, so each newly founded city should be managed by one of your children. This way, all players will have only 1 city until their first child comes of age. Of course you don't have to be in a city to manage it. If a player has more cities than living children, then no more cities can be founded. While focusing on 1 city early game, the player can put more emphasis on exploring the world, questing, and creature-hunting with his sovereign and champions. You can implement this as either assigning a steward to each city or simply keeping track of the number of cities vs. number of living ancestors.
For simplicity, when one of your children dies or is married off (if a woman), that city remains in the Channeler's control but he cannot found a new city until he assigns a new steward or razes it or trades it away.
To make things more complicated, there could be penalties for controlling cities without stewards: city-specific or empire-wide. This can be the result of children dying, cities gained through trade, or conquest. This could add an incentive to trade away or raze cities if you have too many.