All we can do is wait for the contract to finish and then not renew it. Its perfectly legal, a lawyer told me.
What they really don't want to do is to lose the billable position. In practice, a lot of people will just suck it up to the end of the contract and then leave, especially if the contract is less than a year.
In practice, they will probably not do that as the HR team is busy with other things and the lawsuit might be bad PR, although a hiring manager that wants to get back to you for doing that might have the HR department sue you, legally they could do that.
Believe me, they know how to cover their backs.
Sometimes I think an international one-week walk-off by IT staff would do wonders for the worker-employer relationship.