When a city grows, the player gets a single option to upgrade and that's it.
Even if the UI bug will fix the problem that makes the player unable to make an informed decision, there is still a problem with flexibility and the lack of options.
My suggestion: Cities will receive specialist slots each level (starting with the second), and will be able to add or replace specialists as long as it has empty slots.
Adding or replacing a specialist will consume time (and resources?). It is also possible that the specialist creation will use the unit production points of the city, giving a strategic decision if it is time to build protectors or upgrade the city.
The initial options will be limited and similar to the options currently exist in the game (of course, the numbers can be tweaked, I'm more concerned about the concept):
Trader - adds 5% gildar
Teacher - adds 5% tech
Mage - adds 5% arcane
Captain - gives +1 to attack and defense of units in the city.
Other options will be researched at various places in the research trees, and each culture will begin with it's own unique specialist, making the options more interesting.
There are many different bonuses that can be created: improved healing rates, iron bonus, improve building time, diplomatic points etc. Although it will probably be important to keep the bonuses as percentages instead of static points to prevent abuse and keep the feel of the game.
Besides the variety, the advantage of this idea is to give more strategic flexibility, allowing the player to change the goal of the city.
For example, for a frontal city the player might want to get healing, unit production and combat bonuses, but after some conquests, change the purpose of the city to an economy town, producing gildar instead of units.
Another example is a city that has two different resources that changes specialists between the two during the game.