While this is somewhat a rehash of what has been said before, I personally use
#show poly
/focus [target=focus, noexists]; [target=focus, dead]; [target=focus, help]
/stopmacro [target=focus, noexists]
/cast [target=focus] Polymorph: Turtle
which will cast polymorph if you have a focus target, and if your current focus target is dead or inexistant, then sets your current target as your focus.
The good part about this is that you can chain cast the macro to keep the target polymorphed, and you will keep your current target as you spam it. You could easily replace polymorph by counterspell and have a very potent pvp macro.
EDIT:
Please remember to keep the '#show' in there if you want to keep high fps
2.1 - Macros Directly affecting fps?