I have been working on it somewhat, although I am quite busy.
Why not just have the schedule change every 4th week instead of monthly. You could then base the applicable schedule on the weeknumber of the date in question.
Weeks 1 -4 would be A B C
Weeks 5-8 would be B C A
Weeks 9-12 would be C A B
rinse and repeat .
Just a thought.