I like to have macros that use single-threat abilities normally and AoE threat when I hold shift, for example:
Code:
/cast [mod:shift] !Cleave, !Heroic Strike
To make that a bit more useful and save you another action bar slot:
Code:
/startattack
/cast Revenge
/cast [mod:shift] !Cleave; !Heroic Strike
This way, you mostly click / press the same buttons all the time. If you tank groups, just hold shift.
Similarly for Taunt and Challenging Shout:
Code:
/cast [mod:shift] Challenging Shout; Taunt
Your mileage may vary depending on your preferred input method (clicking, keyboard, N52 and similar).