I always put offclassing as allowed on my lobbies just to have them more "like ETF2L" , and some people like to abuse it by running perma huntsman sniper, perma pyro, offclassing as a role that shouldn't offclass, and making the lobby a huge mess. But disabling offclassing would just feel too radical, wasting too many opportunities for a viable pick-offclass...
The problem with offclassing is it cannot be calculated by % of playtime, it cannot be calculated on which cap you offclass, it is more on situation, Here's the breakdown:
Spy is a stalemate class, which cannot be used too frequently or the enemy team will be spy-ware and therefore the Spy will be useless.
Sniper can be run more frequently, but is more of a pick class, best on last pushes or likewise to break stalemates. a Better sniper can run perma, and perma sniper is viable on maps like koth_product_rc8. However, do be advised that people will look out for you and stay out of sightlines, so perma on 5cp is not advised. If the sniper is not utilizable, he should switch back
Heavy is best as a fast last defense or to enhance firepower. Should never be ran to mid due to his slow speed, with the exception of koth_product_rc8 and other koth maps.
Engi is good for last defense if you have more time Can also be used with Gunslinger today if they have powerful Scouts that need to be countered - more defensively, though.Not very viable for being too offensive.
Pyro is good for last defense, for uber denial, can also be used to counter good projectile classes - defensively. Not too viable for bigger offense.
+ offclasses on maps commonly not played on 6v6, such as pl_
To me, reasonable offclassing should be the one and only option for offclassing. The problem however is that many players in TF2Center simply do not have enough of a gamesense to estimate these right and some downright use offclasses in the sense of "eh, who cares"
So something like this would be very difficult to pin down.
One option would be to simply leave it up to the players, that unviable offclassers can simply be !rep ped if doing it for a prolonged time, or reported on the forums if it's a repeated issue. But I do not know how that would turn out...