In the mid/late-game I found that I often want to build a new building of its maximum upgrade level (like an established well, farm, house or a tower). So I build the low level version, wait for it to be completed and upgrade it, wait and upgrade again. I sometimes forget about those building, just to find them unupgraded some time later..
I thought about it and an option to just build a high level building would undo everything this system brought into the game, so I thought of an option to queue up upgrades of buildings. A player selects a building and selects an upgrade variant and the building starts it's upgrade process just like before. The building is already called by the new version name, so I would leave the Upgrade button available (if appropriate) and work the same way as before - select the upgrade variant. But instead of changing the building immediately, it would just queue the next upgrade and actually apply it after the previous one was finished by the builders. It would be useful for roads too, but I'm not sure how to show that to the player (maybe a marker like now, with a number of upgrades pending in it?) and the roads are going to be reworked soon anyway.
So I'll just put it in a example. I have an established village, resources aren't a problem in most cases. My housing space is getting low, so I'll just add couple of houses, a well and a farm. I put down a house or two and quickly queue up upgrades of it up to the reinforced high quality one, same with the well and farm. The builders come and build the house, the queue kicks in and automatically schedules an upgrade to the low level high quality housing variant, the builders will get to it on their own like normal. After they are done with this upgrade, another will be applied, and so on. This would be also useful when rebuilding something that got destroyed and it doesn't interfere with existing game mechanics.
I just hope more people would find it useful so it could get implemented