This is why we have unions. I have a stable five week roster (volcanos excluded), days off that are fixed in stone (11 in 28), biddable annual leave and so forth. I work my share of weekends, Christmases and earlies. Yes, occasionally our schedulers sometimes attempt to give us the rough end of the pineapple, but rosters which exceed our agreements are null and void and are re-wriiten when you raise the issue.
Suggestion: Get together with your colleagues and join a union.
PM