If your application allows to do it within the software, fine.
But It will be a bit tricky to get the timing right.

I have given up on the software solution because I had to write to more than one I2C controller at the same time.

With the latches it works just fine.
The only thing you'll need is an option the adjust the trigger-level of the detector to compensate for the relays latency.