Idea for a very basic fix to what seems like a major problem: imbue champion spam.
Right now there is no real downside to imbuing all champions prior to battles, removing afterwards. It creates all kinds of weird balance issues with the spell system (from spamming arcane arrows and heal, to allowing essentially all your armies to fly around the map like drunken hummingbirds). It's just too easy to immediately get an entire army of spell casters.
Basic fix: just up the initial casting cost of imbue champion. There no need to make it permanent, give it a cooldown period, etc. If the initial casting cost were just upped significantly, to say 50-60 or even higher, it instantly creates a very real decision about whether to cast. Then after it was used in a battle, to move an army, etc. the sunk cost is already paid and it then becomes a major decision on whether you should dispel or not (only dispel if you think you'll have no use for that caster in the next 60 turns or so).
Just a basic philosophy, there should never be an enchantment that has a casting cost that is equal to its upkeep. This just creates the incentive for cheese moves. For instance, its always a smart decision to cast arcane weapon on all units prior to a battle, just dispel afterwards, nothing lost. For the most part enchantments follow this generally good rule in Elemental. However, the most important one in the game, the creation of new spell casters, does not. Fix it and we'll move a long way towards balancing some of the other exploits were all complaining about.