Yep nice idea, for chatrooms other than feed or opchat.
For functionality discussion, i suggest it would work like this:
It will only remember a +leave during that online session, once reconnected the user autojoins every chatroom it has access to again, and will have to use +leave again to ignore new messages.