Warten tut man eh nicht

Deine I2C-ISR kannst du für IRQs öffnen, damit sinkt die Interrupt Respond Time (IRT) der anderen IRQs deutlich.

Mehrere Master werden nie senden. Falls doch, gibt's ne Arbitration und einer der Master hält den Mund (wird Slave) und versucht's wieder, wenn der Bus frei ist. Ausserdem weiß ja jeder, ob der Bus gerade belegt ist oder nicht. START/STOP hört ja jeder.