Not so sure about that... Tech giants have the advantage of being able to pick from the best applicants out there. In the same way you could say "having these clauses is a deal breaker for me", it's very easy for them to say "NOT having them is a deal breaker for US".
The difference is that if you refuse the offer, you still have to find a jobs elsewhere (and I suspect that most giants will have the same clauses by default). But if they refuse the offer, there is already someone being interviewed that will accept the clauses.
Maybe I'm being pessimistic, but I think that unless these clauses are deal breakers for most developers out there, then this practice will continue to be done.