xmpp bridge

now you can mirror only per room https://github.com/saqura/xmppwb

see our discussion we have with maintainer on https://github.com/saqura/xmppwb/issues/9

For your second point, you could write a script that queries the list of rooms from the Rocket.Chat REST API and generates an xmppwb config file that contains corresponding bridges. You could use a Rocket.Chat outgoing webhook that listens on all public channels and use that for each bridge so that you don't have to manually create a webhook for each channel.

is a wish from many: https://github.com/RocketChat/Rocket.Chat/issues/404

they seem to have it: https://github.com/sdelements/lets-chat