One thing you might want to try is this: it's all-in-one healing:
Marco: Heal
/equip main "Dark Staff"
/equip main "Light Staff"
/heal
You press it once it should change to whatever staff you are not using and if you are standing you should start healing. When you press it again it should stop your healing as well as switch your staff.
I used this for a ling time with my thief till my macros got way too complexed:
/equip ring1 "Reflex Ring +1"
/equip ring2 "Reflex Ring +1"
/equip ring1 "Balance Ring"
/equip ring2 "Balance Ring"
When I hit it once it would switch rings when I hit the same macro again it would switch back.
And If I am correct, '/heal' is an on/off macro, meaning you type it ones it activates, you type it again it deactivates.
Try it out
You might be asking how this works... "Why doesn't it switch back to the light Staff right after it switches to the Dark staff?"... Well as fate would have it, you can only do one call per slot per macro without a delay, and what ever comes first goes.
For example:
/equip ring1 "Reflex Ring +1"
/equip ring1 "Balance Ring"
/equip ring1 "Beetle Ring +1"
Will only switch between the first two rings, ignoring the beetle ring +1 all together.
Reason:
Hit once:
Calls and sees there is no ring and fills the slot with the Reflex Ring +1
Ignores the next 2 lines because ther is only one command allowed for that slot.
Hit again:
Calls and sees there is a Reflex Ring +1 and ignores the change because there is no change.
See a change in the second line: Balance ring, and Changes it.
Ignores the last line.
Hit again:
Calls and sees there is a change and equips the Reflex Ring +1 and equips it.
Ignores the next two lines.