Many military games include a unit upgrade option. In computer games, the machine keeps track of upgrades and their effects, but when you have to do that administration on table, it can become inconvenient. While designing a game that involves fighter and bomber aircraft, I came up with this idea. It is a simple object consisting of a base and several rods attached to it. The rods are labeled for their function, in my case Fighter Range, Fighter Combat and so on. When a player buys an upgrade, he puts a ring onto the appropriate rod. This allows others to see what his units can do.
Picture: http://www.bgdf.com/node/1237
Hidden effects are a completely different cup of tea. That is handled by cards usually. This solution is for global upgrades that involve all units of a certain type.