Same stuff as in the other thread, but still relevant
Here's my thoughts:
Howabout each time a city gains a pop, a worker is produced/stacked in that city. That unit can be moved to go make a resource, such as a farm. For free. Then, if you decide to change the improvement there, you pay for the improvement to be changed, and it changes the next turn.
Also, you can take a pop from the city to make a worker, and then send it out to work a tile (any tile with an improvement would always be worked). This way, the cities would not be uber city states, and it would be more like a society with big cities, and people also live in suburbs/rural areas.
Since you can take pop out of cities, you could choose between high pop/high production cities and small pop/high food cities (So each pop would make an amount of production/research, with bonuses when in cities. So a pop in a grassland farm is +3 food +1 Research, a pop in a city is +2 production +2 research, lets say). This would work best if food was global, so the agrarian cities/nations could compete.
Food could even be a tradeable resource like gold, as a lump sum from your stack of food to help a starving nation or over time, as an amount per turn.
There could be a way to cut off food or regulate which cities get food so as to make it so if one city starves they all do not as a result.
If a tile is pillaged, it is turned into a worker, and if recaptured could be put back to work.
Roads would be built by the city screen or something, and tiles would be individually selected, then an amount of gold would be payed to make it, with the road arriving the next turn. If a worked tile is selected, then that tile does not produce its normal output, instead making the road. If an unworked tile(s) is selected, then the nearest worked tile(s) will work on them, for the same result.
Workers could be added to cities as well as taken from them.