By setting the GlobalDefines.xml tag very high in combination with GameEvents.UnitSetXY, it should be possible to have more interesting rules that are 1 upt "in spirit" but not strictly 1upt. For example, I want to have unlimited stacking for civilian and a few specific military units, but maintain 1 upt for most military. Many other rule-sets are possible too.
However, I do worry about excessive processing overhead using UnitSetXY. The AI may be an issue too (I know a lot of folks have stated their opinion about this, but I haven't seen much commentary based on experience).
Edit: Just ignore this post. What I'm really thinking about is a UnitCanSetXY event, which doesn't exist yet.
Edit2: Funny, the wiki gives "CanMove" as an example GameEvent: "Some examples of predicate game events will be the Can* methods. CanConstruct, CanMove, CanAttack, etc." But then it is not listed. I have no data to say whether such a thing exists or not. (But if it did, my post above would make some sense.)