I2C flakiness: best strategy to identify and fix?

It sounds like a flaky connector. Corrosion and dirt builds up over time. If it is just flying wires going into the Arduino headers then it is very likely that one connection is bad. Carefully unplug and re-plug, one at a time.

It may be time to invest in a cheap USB oscilloscope. Then you can see wiring problems like inadequate pullups or echoes on the lines.