You can have a switching arduino between each two networks, it has a I2C interface on one side and a software or external hardware I2C on the other side. Each arduino would have a special address within it's network and each network would have an ID/address. Each normal arduino would send data with these two addresses, all arduino's on the same network would interpret it to see if the device address is its or not, if the network address is different, all arduinos on the network would ignore that data except the switch arduino which sends it to the other network or to another switch for another third network.