Implement smart message filter like weechat
weechat provides a system that allows you to filter messages of all kinds, however, instead of simply completely ignoring the messages they are still saved and only hidden on screen, which allows to unfilter them as needed.
A small description can be found here: http://dev.weechat.org/post/2008/03/22/Filters_tags
The actual feature I'm looking for would be the implementation of a "smart" filter like this: http://dev.weechat.org/post/2008/10/25/Smart-IRC-join-part-quit-message-filter
That would allow hiding all join/leave messages in MUCs for example if the affected user didn't talk within the last X minutes. That way people won't be spammed as much when they don't hide those messages and they won't start talking to themselves when they have the messages hidden and the person they were speaking to leaves the muc without saying goodbye.