For limited DC bias, your looking for Manchester encoding, it makes sure there is an even amount of data sent as a positive and a negative, and a clock is generally safe
The issue with I2C is that it idles high, which means it has a voltage gradient to the ground surrounding those pins, allowing for corrosion,
In buried wiring they will run a sacrificial anode which sits at a positive voltage in relation to the wiring to be protected, so that it gets eaten away first. e.g your I2C bus in this case is playing the sacrificial wires to the ground plan.