Arduino I2C communication between 2 master networks
IIC is not a good choice for peer to peer communication.

The easiest way to connect to microncontrollers is probably with UARTs.  Note that provides a separate and asynchronous channel in each direction.  You also aren't stuck with standard baud rates.  Use something fast that can be derived directly from both clocks.  You can easily do a MBaud or more between UARTs on the same board.

Especially if you crank up the baud rate, it might be a good idea to implement flow control.  Some microncontroller UARTS have RTS/CTS built in, but even if not, this kind of capability is easy to add in firmware.  Make sure that the reciever can buffer at least as many characters as there are in the hardware FIFO of the sender.  That way the flow control line can be used in the sender to simply not write more data to the hardware.  Microcontrollers tend to have small UART output FIFOs (usually just one or two, rarely more than 4), so this is not much of a problem.