No, blame these companies for trying hard to avoid workplace protection.
Basically, the rule per Vizcaino is "Any benefit offered to salaried employees must be offered to temporary ones too unless you deliberately discriminate against them in all your other benefits not related to their job."
And yes, that's a stupid rule. But it's the rule, and it's universally enforced at every US employer large enough to have a legal department.
It is the same with undocumented workers. Would it better if they were deported than to be denied benefits afforded to citizens?
Yes, it would be better if they hired no-one. When your job conditions are beneath human dignity, you don't get to hire people for that job, even if that means your stock price doesn't grow quite as much and GDP is lower this year.