I have worked as an employee as well as been a C-level manager (usually CTO or CIO) in many countries including quite a few european countries, the middle east, and USA.
As I said, if salaried employees are being abused with really high overtime and not enough pay, then they negotiated a shitty contract. Lots of people self-sabotage and negotiate bad contracts for themselves. But thats on them. At every stage of my career I have always negotiated strongly and as a result I have never had these issues. I would generally negotiate very high salaries, work the overtime, and negotiated 3 month vacation blocks to oppose the overtime (which was my standard as a Sr. dev and team lead). In cases where I couldnt negotiate the vacation time I eitehr ensured to put time limits in my contract or if i felt i could handle the excessive work would negotiate very high salaries to make up for it.
When I hire people I always as the hiring manager make it a point to keep my workers to an average of 40 hour weeks just to keep them at their best. Overtime happens, but when it does its offset by extra down time.