On my hunter I use 2 macros, one casts viper if out of combat
Code:
/cast [nocombat] !Aspect of the Viper
the "!" tells wow to turn on the aspect, but won't toggle it like it would if it wasn't there.
And then I have
Code:
/cast [combat] !Aspect of the Dragonhawk
at the beginning of all of his attack macros.