@SPQR you can make macros for all your specs without taking up too much macro space by making a macro that casts a different ability depending on your spec. For example:
#showtooltip [spec:3]Frostbolt; [spec:2]Fireball; [spec:1]Arcane Blast;
/cancelaura Ice Block
/cancelaura Ice Block
/cast Frostbolt
/cast FireBall
/cast Arcane Blast
This is a macro that casts an ability on your mouseover if you have one, and if you don't, it just casts the ability normally (target with no modifier or focus if you're holding shift)
#showtooltip Slow
/cancelaura Ice Block
/cancelaura Ice Block
/cast [nomod,@mouseover,exists]Slow
/cast [mod:shift,@focus]Slow
/cast [nomod,@target]Slow
And again if you don't want 3 separate macros for your 3 specs you can just write it like this
#showtooltip [spec:3]Cone of Cold; [spec:2]Dragon's Breath; [spec:1]Slow;
/cancelaura Ice Block
/cancelaura Ice Block
/cast [nomod,@mouseover,exists]Slow
/cast [mod:shift,@focus]Slow
/cast [nomod,@target]Slow
/cast Cone of Cold
/cast Dragon's Breath
Ik this is all info you didn't really ask for but I hope it helps.