If you are into mods and willing to experiment you could also give iiSpellSystemAdjustment
a try. It allows spellcasters to refresh a casted spell in memory after a certain amount of time that you specify during installation. You have options for the timer to be constant over all spell levels, to increase linearly, exponentially or even randomly. Don't forget that the changes apply to enemy spellcasters as well, so if you set the timer too short you will probably encounter gamebreaking situations. I remember a post where someone had 10sec refresh for lvl9 spells and went to fight a lich. Lich timestopped, summoned a pit fiend, then timestopped, summon a pit fiend, then timestopped, summoned a pit fiend etc, until he alt+f4 to break the loop.
If that mod is too far from the original game concept...
The timings can be fixed by putting in proper values..(as mentioned from Big World Project Document)
Select -> 3) Timers depend exponentially from the spell level
Select -> 3) timer = constant + spell level ^ (exponent/root)
Set *constant* for all levels: -> 30
Set the *exponent* that will be divided by the root you'll decide, next -> 11
Set the exponential *root* or the exponents divider, remember that dividing a number
with 1, is the number itself -> 4
Will result in the following timings
Level 1 spells: 30 real seconds
Level 2 spells: 36 real seconds
Level 3 spells: 50 real seconds
Level 4 spells: 75 real seconds
Level 5 spells: 113 real seconds
Level 6 spells: 168 real seconds
Level 7 spells: 240 real seconds
Level 8 spells: 334 real seconds
Level 9 spells: 450 real seconds
Same values for Both Arcane/Mage and Divine/Priest (Cleric/Druid) spells.
But as @AndyBuzz
mentioned, NPC's and enemies also get the cooldown timer. So if you are in very long battles, expect enemies to recast spells again and again.
Note (advanced): This is made worse if you have addition mods which enhances AI behavoir, such as SCS or SCSII, etc. where in conjunction with spell triggers really spirals to insane encounters.