That is actually a pretty good analysis of the situation of small vs. large cities. I never really considered that small cities can actually construct all buildings. The main part of the ressources cities provide are generated by the buildings in it, not the population, making more small cities actually a lot more useful than just a few big ones.
But besides the early city spam there is also another thing which needs to be considered and that is conquest. As far as I know right now you just get a conquered city as it is.
Let's consider following changes in different scenarios:
It came up in the thread earlier, pretty much in the beginning I think, that it would be a nice idea to tie available buildings to the city level. So, either add more buildings only constructable at a certain level or onward, allowing larger cities a considerable edge over smaller ones in terms of potential yield or add level restrictions to some of the existing buildings. Either way larger cities get more important in comparison to smaller ones.
Yes, add an empire wide unrest penalty for every city, just make it a small one, not entirely crippling larger empires. It should be become more of a break than a full stop over time.
Conquered cities should loose a considerable amount of population and all buildings whose level requirements are not met anymore. Maybe even more than that. Together with the unrest penalty for conquered cities already in place, this should prevent conquered cities from becoming useful fast. In fact, together with a small empire wide unrest penalty the net yield of a larger empire should drop with a conquered city on short term, but rise in long term.
The idea and balance behind this is, that every new founded or conquered city should be a longterm investment. The Number of cities you have should determine your maximum faction power, but the more you have the slower the growth of your power should be. This can only be achieved if bigger cities actually have a considerable edge over smaller ones and if a new city will impair your power for a while.
Along those lines a newfound city should be better than a conquered one, which is only valid if conquered cities loose some of their power and are impaired in their capabilities. I think it should be like that, because conquering reduces the power of an opponent and gives you an already settled place (I think conquest will most likely start if available city spots are already taken or at least rare).
The above changes should result in a scenario, which emphasizes careful expansion. At the same time slow expansion should give a short term superiority while fast expansion should outright cripple your empire for a while and is at best used in situations of opportunity.
Like this, a lot of different strategies for expansion should be provided, all having their use in different situations. At the same time a player with few good city spots should have a window of opportunity to break out of his situation.
Ooops, also credits to Alstein for the idea of restricting buildings to certain levels and reducing the population of conquered cities.
Basically what I wrote here is a piecework of former suggestions. Nevertheless, the puzzle pieces seem to fit together quiet well. Keep it going, maybe there comes up something more worth incorporating.