It's rate response, but...
You assign a shift (not a job) to each employee for a given date, but the actual hours worked on that date vary from employee to employee based on "the out list", and you want to balance the total working hours?
You could add a shadow variable to contain the actual duration of working in each planning entity...(A)
and add a rule for fairness to minimize gap of its summary for each employee...(B)
I expect some risks to implement.
Before and After applying a Move, change of an entity leads changes of other entities. This affects the performance a lot.
Structure of (A) may complex, and the rule of (B) has complex "accumulate".
Instead of such a complex implementation in the planning part, I recommend an implementation that updates the "out list" daily based on the accumulated time of early departures up to the previous day. The process of updating the "out list" daily can be easily implemented in the system.
Best Regards,
Osamu Kuniyasu