After trying various versions of the DCC Code and Servo Code I am still experiencing issues with Servo Jitter. Even when not activating the DCC Code it looks like the interrupts have sufficient impact on the timings of the Arduino to make the servos unstable.
I’m now setting up a test rig using one Arduino as a DCC to I2C bridge, this performs all the DCC decoding and sends a simple I2C message to the Arduino controlling the servos. I’ve not worked out the details yet but all I am thinking of is passing the servo number and position (straight/thrown) to the controller board. The controller will then change the state of the servo as instructed.