I apologize in advance for the long post, but since no one really seems to be satisfied with the food/housing issue I wanted to give it a shot. Please let me know why this wouldn't work 
What I'd really like to see is a change to how food/population is controlled throughout the empire. I understand that the goal is to minimize the amount of micromanaging of the empire, but I think by we can make it much more realistic, much more immersive and much like an actual empire rather than a collection of identical cities spread across the map.
This can be accomplished by:
1. Food should be handled on a city by city basis (I know, I know. Hear me out)
2. Each cities food production GIVES A BONUS (Based on distance) to nearby cities food production simulating trade/distribution/supply lines.
3. Scrap housing as a "Resource" and have population capped just by total food available.
For example, City A has a farm. +20 food for the local city. Max population would be 1000 (20*50) and the max number of buildable tiles would be 40 (1000/25). Buildable tiles would gradually go up as prestige increased population up to the maximum. It'd be more fluid than the current method of "Oh, city size just went up, now you have 12 more tiles". Plus, it'd get rid of the whole housing micromanagement issue.
Now City B is a mining town built in the desert. It's got 2 gardens (We would likely cap the max gardens) for +4 food. Alone, it's max pop would be 200 (4*50) and max tiles would be 8 (200/25). This would be a small mining settlement. It could never grow to be a giant city on its own. If City A was close enough (Close enough can be modified by distance, roads, tech, sieges, piracy etc) it could get some sort of bonus to its food. Let's say 20%. Now because we built a mining settlement close to a food production city, our mining town in the desert would have 8 (4 from gardens + 4 from city trade) and would be capable of supporting a larger population and more buildings.
Cities built w/out access to food couldn't ever be as powerful as cities close to food. It would require some actually strategic thinking about what you want to build in each city. Sure, you can build that Crystal mine across the map, but you'll only be able to support the first level mining building. Don't expect it to have 3 schools.
Techs could improve the distance the bonus applies and/or the number of cities supported. Piracy/blockades/sieges would be critical in war time.
To me this method feels much more organic. Cities would all be different because they wouldn't be ABLE to support everything. You would have to play to their strengths. The only additional complexity would mainly be taking place behind the scenes. Food (For each city) would still just be 1 (Heavily modified) number.
To me, none of these changes are programmatically complex either. I feel like this system could be implemented pretty easily. Many of the "Housing" techs would just be replaced by "Trade" techs instead.
Please let me know what you think.