To be honest, I would think that getting levels from experience and those levels giving you set bonuses would be the best way to go. That was the original proposal I made a while back, is most similar to the current kill-count system (less difficult to adapt to), most likely easiest to implement (though you're the programmer, ultimately), less micromanagement (I never considered Glest to be the most micro-compatible game, and it'd be a pain keeping track of units to level up), and it would work best with a large number of units. The other two "leveling systems" might work with hero units, but not with the many other units we'd see in the game.
If it's possible to have more than one system available (for example, we could specify to use a level based system for regular units, and an upgrade based system for heroes), then that could allow modders to "get the best of both worlds". However, I think that may also be overcomplicating things, and neither of the first two options would work well at all for "minor units" (it's simply too hard to keep track of all your battlemages). If we go with the third option, experience based leveling, then it'd be possible to expand to allow multiple systems in the future (if there's demand for that).
So in short, I think it'd be best, for the moment, anyway, to just go with the third option, experience based leveling.
As for how I think that should be implemented, I like the concepts that were mentioned in my
thread, a bit back. We could specify the experience points a unit would be worth (and not specifying so would default to the unit's HP). You'd receive experience points "real time" as you deal damage. If you dealt an attack that took off 50% of the foe's health, you'd gain 50% of their experience value (of course, this means that a unit with regeneration may give slightly more experience than one without). The leveling system would be the same as already existing, but would specify a total number of experience points needed to level up instead of a number of kills.