Mmm, that's troublesome. Some players want a manageable number of units to finish a game in a reasonable time (in which I account). Others don't mind to spend hours moving units, it must be a funny chore in itself. I think that's what huge maps were made for.
Puppet cities contributing much less to unit supply is interesting, but I wonder how to deal with AI not puppeting for the sake of having more units (so forcing the player to annex himself) and how will this affect Venice.
Is a hard limit really needed? I mean, if there is a soft limit based on population, where being under the limit costs B per unit, and being over the limit increases cost in 1 gold every new unit, I think it will be enough to contain huge unit numbers. Also, unit maintenance becomes cheaper as ages pass by, so I'd increase base cost based on Age.
Something like, UnitSupplyLimit = (1 every 5 pop in controlled cities) + (1 every 10 pop in puppet cities) + handicap base
Then, UnitMaintenanceCost = 1 gold scaling with Age (1,1,2,3,4,...) for units under UnitSuppyLimit; +1 extra gold scaling for units over UnitSupplyLimit.
So when gold is in abundance, units will cost much more (that's logical, they are more advanced units), and making more units than pop can handle is not impossible, but has a higher cost that you will pay in further underdevelopment.