The only way fit (without a server flood) is with sockets. The only problem is that unless u have a user's ip you can't do it. Thats not such a bad thing with servers like dalnet where it's in plain sight, or is a hostmask that can be resolved, but servers with the mask-????? prefix are near impossible.
I did make a ctcp method that implys a message on every mode change. It has minimal notices, and only sends when a mod is altered. So far i have it join a channel, and apon join /ctcp # TYPING CHECK all users. Those who have my script will reply TYPING OK and so I add them to my list. Now, i have a list %typing.notify1 (1 being connection id--already thinking multi-server support) Anyways, now on a mode change it does /ctcp %typing.notify1 TYPING TRUE|FALSE|IDLE and the user(s) on the other end are aware of my status.
I did happen to intergrate it into my status bar, and it works nicly. I have three ppl testing with me and it seems to be very nice. Noone that doesn't have the script is noticed (other than the initial check) and those with it are told what's going on.
Anywas, enough advertising. I think its completly capable to do without a flood, and is faily practical. If your interested in a release, let me know by pm. I'l send it your way so you can help debug/improve apon it.