The only thing that can stop employees from being overworked is for them to stop being stupid. Like seriously, no offence intended to devs or anything because they do do a great job, but if they don't want to be overworked then they can simply choose not to be. Just join a union and then say "no" as a union. Then you won't be overworked. It really is as simple as that. In countries with decent labour laws you wouldn't even need a union, you could just say "no" to all the overtime and if they try and fire you for that you take them to court and end up very wealthy. It's a win-win.