Independent but synchronous mechanisms?

You can use TalonSRX closed-loop for differential. We added this last season (for diff-swerve, diff-drive-train, and other similar mechanisms).

Basically you make one master talon calculate PID[0] + PID[1], and PID[0] - PID[1].
The former is applied to the motor. The latter is sent to your AuxFollower (talon set to follow with FollowType.AuxOutput1).

https://github.com/CrossTheRoadElec/Phoenix-Examples-Languages/blob/master/Java/MotionMagic_AuxStraightQuadrature/src/main/java/frc/robot/Robot.java

You could even run a primary PID to servo the difference/sum of the two sensors to maintain level, while open looping the overall up/down of the mechanism.

Similar post here manipulating two sensors to produce a sum/difference to servo/maintain.

MotionMagic with Aux PID[1] would be useful since your target mechanism is profiled along your single-axis, meaning Aux PID[1] maintains the sensor difference just like a turn-closed-loop during an arc.

Whatever you do, start by configuring the peak outputs to be very weak or disconnect motors entirely while you work out direction/phases/etc during hardware-bringup.

Makes sense?