Nur der Sender, also der, der SDA bedient, kann erkennen, ob seine Bits korrekt durch sind.
Der Listener nicht, aber gerade der soll ja ACK oder NAK setzen.

Es gibt einige Libraries, die diese "Eigenprüfung" unterlassen, das ist natürlich schlampige Arbeit, genau wie das Erkennen eines Bit-stretching durch den Taktgeber.

Bei Überlegungen zur Verbesserung durch CRC oÄ ist halt das Problem, dass ein standard I2C Baustein da nicht mitspielt. Ein IO Expander setzt das um, was er zu empfangen glaubt