Unfortunately there just isn't enough of an intensive to pay more for the same labor. If contractors stop making them self available for the work, they may have butter luck becoming employees.
I mean janitors, cafeteria and cleaners used to be in-house. Maybe managers are afraid of being demoted to manage the cafeteria?
There will always be a steady supply of people willing to work in shitty conditions because either the employer is a big name (Google) or they have no other alternative to put food on the table.
The latter aspect is why government regulation and minimum standards are the only way to prevent exploitation.