I've looked about at present suggestions to improve cities, but haven't seen a solution similar to what I'm suggesting. Sorry if it exists and I missed it. Comments are based on current (1.06) build.
There seems to be a fair number of people (including myself) that feel cities feel a bit too cookie cutter and unimportant on an individual level. City spam (so I can build 1x more merchant/ whatever) is encouraged by the current system. Actual city building is strategically limited to "sprawl it out" so you get bonus movement, without any countering bonus to keep things compact (at least that I've seen).
My suggestion (quick version):
1) Make city improvements a civilization wide pool (like resources). Additional city improvements are unlocked based on population breakpoints (kingdom wide population total, not city specific level for the breakpoints).
2) City improvements give an adjacency bonus (additive) to similar buildings. Something small like 5% to base, which would add as more similar buildings went up around it. Special structures like mints might give bonuses to dissimilar things like merchants or whatnot, and bigger bonuses.
The longer version:
Making city improvements a universal pool seems intuitive to the structure already set up in Elemental. Also, from a role play friendly prospective, it would make sense - buildings are limited by those individuals who join your cities from the wastes, not all people have skills to be an innkeeper or merchant or whatnot; a census sent out at breakpoints finds the skilled individuals. Less of a "you can only have one merchant in a city because . .we like monopolies" system. The addition of a population bar to the kingdom overview, with a pointer showing the player when the next census will occur would allow people to plan their building strategy easily enough. To track available buildings in the pool, just adding a circled number overlay in the corner of each building icon seems easy. (seems)
A universal pool reduces the incentive to city spam to get extra buildings, since its based on population, not on settlements. Several preexisting functions would prevent housing spam to try to game extra buildings - namely food limitations to housing and prestige limiting new population inflow.
Likewise, other preexisting functions in Elemental would prevent mega cities. The building tile limit would stop a city from being a jack of all trades super city, and the also already in place city "level up" universal bonuses (perhaps a few more routes offered to leveling?) would make keeping a city more specialized the "best" method for someone interested in pure economic output.
Adjacency could be replaced by something simple like a small multiplier bonus or just leaving it to the big overall boost from the cities level up, but giving things a bonus for being next to one another would create a strategic question: does the player sprawl for the movement points in their empire, or do you keep it compact for the economic boost? It would also generate incentive to create swaths of similar buildings for a more visually distinct look (easier to determine the cities functions and general value without needing a rollover).
In the end, it would seem to create an interesting system with some more concrete strategic choices, cities becoming more important rather than the occasional one that has the mega great resource in its zone of control. A player could make mixed cities, as now, making them more independent in case of trouble. Or you could go for very specialized cities that would boost your econ, but make your entire empire vulnerable if they were lost. City sprawl would have a countering option of compact and more efficient cities with better bonuses. And, ultimately, it would seem that the additions would conceptually go well with the already present empire management that Elemental offers, without being overly complex while adding them in.
One additional thing not mentioned, if all was implemented as above, would perhaps be an option to do the "census" to find new building workers early, before the normal breakpoints. The risk being both an upfront cost, as well as a chance that only a few of the normal buildings would be unlocked, and the normal next census date skipped. It would give people that were behind the curve a strategic choice, and be an option for those that love risks more than meticulous strategy. I only mention it after the rest as its more of an add on idea, and in no way central or needed to make the rest work properly.
Just my idea, and I hope its helpful should city specialization be looked at in the future. In any case, I'm having fun with the game, and props to Stardock and everyone else involved in making a game I look forward to playing for years to come.