The major conditional that I use in all my macros is which action bar is up.

The character I am controlling uses actionbar 1, and the puppet is using actionbar 2. I have a macro that sits on the very end of both bars that swaps between them, which is how I switch between characters, and each macro looks like this:

/assist [bar:2] focus
/cast spellname

Originally I just had the actual spell on bar 1, and the assist macro on bar 2, but I rewrote all the macros into that format so that they could function on my secondary actionbar.

Both characters have each other set as the focus, so theoretically I COULD just use character names in place of focus, to free that up for other uses.