If you want it to cast on the target instead of yourself, use the commands listed above, but with <t>, e.g.

/p (Gather together!) (Protect) <t>
/wait 4
/ac "Protect" <t>

Usually I just type /p Gath[tab] and that'll do "Gather together!" I think, but I see how that could be inconvenient. I do have a macro for Stoneskin which I've reproduced below. Helps the other players know if you're using Stoneskin or Regen. Note that I'm using auto-translate for all of these.

/p (Sacred Prism) (Stoneskin) <t>
/ac "Sacred Prism" <me>
/wait 1
/ac "Stoneskin" <t>

I've thought about using /wait and /echo to give myself a cooldown notification, but I think only one macro can be running at once, so if you started using another macro you would never get your echo.