the problem is not that players spam settlements to grab resources. it's that all of these settlements end up growing at the same rate, largely regardless of how many are built. everything ends up becoming a huge city eventually, which was not how the game was envisioned. there were supposed to be a few large cities with additional client farming villages or mining towns that did not end up becoming cities and sprawling over the map.
this was intended to be done with food. ie, you would only have enough food to build enough houses to expand in one or two large cities. unfortunately, the food limitation was largely eroded and food end up almost never being a limitation because of the ease with which food can be generated with enchantments and caravans (which largely allow a city to be food self sufficient without controlling a resource).
trouble is that because population grows at a fixed rate per city, it is far better for players to have their settlements all growing: if you build a house in all three of your cities you will get faster pop growth as a whole than if you built three in one city (because then only one grows). when specialist slots are added and pop becomes more important, it will become even more evident that more settlements = more faction pop growth is breaking the game, as pop will become more important.
the flaw in stardock's model is connecting food supply to the hard cap of population in a town, instead of to population growth itself.
instead of charging food for housing, divide faction food supply over faction population. the ratio of food:person should determine the rate of population growth. housing should just determine the hard cap, but have no maintenance cost. if you do this you never end up in a situation where a player is unable to build anything because of food supply, which is what lead to the current mess, where players kept demanding more food until it became redundant as a factor. consider extra buildings and prestige bonuses as free food. show the factors in a simple screen as in the total war games (one of the most dumbed down TBSs ever, which still managed to get pop growth right).
this way faction population grows at a decreasing rate until it stabilises at a limit determined by food supply (and any other factors such as prestige). it will grow at the same rate and stabilise at the same point regardless of how many settlements you have. however, it will be distributed depending on where you have built housing. so if you build a few houses in every settlement, they all stabilise at intermediate levels. if you just build them in your capital you get a large metropolis surrounded by small satellite farming/mining towns. the player has to choose between a large sprawling empire like russia, or a small developed nation like venice. of course, if you have enough food you can be both large and developed.
this will fix the game, i swear it by my mother's grave.