I like to use a semi-intelligent healing macro:

#show Healing Wave
/assist Warriorsname
/cast [help] Healing Wave; [help, target=targettarget] Healing Wave; [target=warriorname] Healing Wave

You can use whatever assist method works for you.
Alternatively #showtooltip Healing Wave.... will have the game tooltip on mouseover.
Use the red question mark (top left), as the icon when making the macro.

So now we have Healing Wave.
It will heal the warriors target if that target is friendly.
In the event that the target is not friendly, it will try to heal the target of the unfriendly target.
In the event that both the target and its target are unfriendly, it defaults to healing the warrior.

If you're grouped with say a rogue and a paladin for a group quest which you cannot two-box down...
This heal will land on the paladin if he's got threat...

Set up Lesser Healing Wave and Chain Heal the same way.
If you go Resto, then Riptide can go this way too.

On the shaman account, enable a feature in interface options called "Click to Move".
Be sure to keybind (escape, keybinds) the "Interact with Target".

If your warrior charges in, and the shammy is out of heal range, click your useless heal spell, to acquire the warriors target.
Now click interact with target, to have the shammy automatically run towards the mob.
When in heal range, backspace will break the movement, and your heal spells are no longer useless.