Maybe counter spells should be specific to the spell that they counter ... and they could be enchantments.
So you could have an anti-blizzard and anti-fireball counter-spell enchantments on one Champion ... for the upkeep cost of 2 mana per turn.
What it does is when the enemy casts fireball, it cancels it.
Therefore you also lose the enchantment.
So he casts Fireball, it cancels, then if you want you can cast "Fireball counter" AGAIN so that you re-buff yourself with the appropriate counter if he wants to use the spell again.
With this system, casting times are irrevelant (except with a slow casting time for Fireball there is no reason the enemy would cast fireball again)