Ah, I see, thanks... Looks like the best way would be to hook the function that calls ChatFrame_MessageEventHandler() for each chat frame... If it's possible.
I've googled for idChat and found some old source code, but it's not entirely clear to me (not a single useful comment inside.)
For now processing each message 7 times is not so bad; my addon is still nowhere as CPU-hungry as other addons I'm using
. However I'd like to optimize this somehow.