The LUA errors might come from a semicolon i forgot.
The problem with the <no target> is the "PLAYERTARGET" and %T part in the macro. I was wondering how that worked in the original one hurl posted anyway. Those only return a value when a unit is selected.
edit:
#showtooltip
/cast [@mouseover,help,nodead][help,nodead][@player]Innervate
/run local r,s=" Innervate on you!",GetUnitName("MOUSEOVER",1);if s~=nil then SendChatMessage(r,"WHISPER",nil,s:gsub(" ","",2));SendChatMessage(s:gsub(" ","",2) .. r,"SAY");end
This works. Only problem is, that there is no more space to check for spell success. So it will spam the messages if you spam the macro. If you don't want that, you'd probably need a WeakAura.