Agree with the above.
Add a SMPS module to each node.
Also keep an eye on the common mode voltage for your CAN bus.
If you use for example 50V for power and you have a 10V drop over the 100m cable, then the CAN bus will be 5V below GND, because the GND level is lifted at the end.
I'm not sure I understand the transceiver specs regrading negative voltage limits.
Looking at voltages received at the far end, if CAN L goes below 0 v it looks like it doesn't matter (providing it stays within the electrical limit of the silicon)?
But if CAN H goes below 0 v then the transceiver doesn't see a difference between H and L and therefore cannot determine the state?
So does that mean the higher the ground lift the worse the noise margin as CAN L sinks below 0v and you are now effectively measuring the voltage between CAN H and ground?
So for some realistic numbers, if the transmitted peak CAN H signal from the near end is 3.5v does that mean the bus will cease to function if the voltage boost in the ground wire at the far end exceeds 3.5v?
Coming back the other way, for signals transmitted from the far end, does the ground lift effectively raise the CAN L and H voltages seen at the near end?
If so does that mean you can calculate the ground voltage drop by seeing how far the peak voltage is above the nominal 3.5v CAN H signal level?