Quote Originally Posted by JohnGabriel View Post
You can add a [@target] to all your spells. This stops your spells from automatically targeting a mob to cast, they just wont cast if you have no target.

/cast [@target] spellname

It does give you complete control over your targeting.
That works great unless you have a macro that cycles through a ground-target spell or one that doesn't require a target or something like pet heals.