I've been thinking about having per-tile populations, and making them spread and ebb and flow like a fluid.
It'd probably slow things down a lot, though I'm really not sure. It also might not be that noticable, and would probably upset the game balance.
Even if you would only do it for the special zombies* PLEASE DO IT.
* (except the boomer; they're fun in a harmless-and-annoying kind of way and should always be around, for their ability to annoy is great)
Even if you kept things the exact way they are now, just to keep the illusion that you're "making a difference" in a city, make the game count how many of each special zombie there is [
on a map tile] as a 'standing body' and as a 'unmoving corpse'. The player will go around, run into them [when they spawn randomly], and kill them; slowly shifting the population from standing to corpse. Corpses don't do anything, aside from
waiting for a necromancer to revive them; the rate/capability of which is based on the current standing necromancer population [
of that map tile] and the current kill-count on special zombie types. Butchering is the only way to fully eliminate the population, because it removes corpses in an unrevivable way; the player butchers a hulk corpse? The hulk corpse population is decreased by 1, reducing the total population in turn.
If the player slacks off for long enough, or doesn't clean up right, eventually the special zombies come back... But if the player is persistent, their effort will be repaid with little worry of running into the more dangerous zombie types [on the map tiles that they've cleared of special zombies]. Of course, boomers and skeletons should still exist, since they give up some durability for their gimmick and arn't really as dangerous as a hulk or electrical zombie.