I solved a similar problem on a CAN based system by having the host micro being able to sense the voltage on each wire and be able to disconnect it during continuous overvoltage condition!
(with CAN, you have a 120ohm terminating resistor, and on my 48V system, that meant worst case of 48W! )
You could either measure the voltage with an ADC, or use a comparitor to trip an overvoltage interupt, or use a current shunt amplifier to trip at a known current etc.
In my case, because size wasn't an issue, i used a relay to open the I/O lines under fault condition (which also resulted in the unit going physically off buss if it lost power, which is a good thing)
Having said all that, another option, depending on your bus speed/ signal & data bias is to AC couple your data lines!!
Use a large resistor to control the DC component of the signal, but bypass it with a capacitor to allow AC current to flow and maintain the fast signal edges!
either do some simulation in Spice etc, or breadboard up a test solution, which would show you if it is practical in your case