> In practice, though, H1-B becomes indentured servitude, since they cannot freely move between companies.
This hasn't been true for at least 10 years (maybe more). It is entirely possible to change jobs on an H-1B. The new company needs to file a new application (called a transfer) for you and premium process it, which adds 2-3 weeks to the process of a job change. Cumbersome? Yes. Indentured servitude? Only if your skills are useful to your company alone.
As of January 2017, H-1B workers are also officially allowed one 60-day period of unemployment, so it's also not true we live in terror of losing our jobs lest we have to pack up and ship out the very next day.
I'm not denying the system could be better still e.g. don't require a new application every time you change your job, unless it's a completely different type of job or less salary, eliminate per-country quotas for green cards because of which hundreds of thousands of Indians and Chinese stick around on H-1Bs for years, allow 60-day periods of unemployment after any job longer than 6 months, or a lifetime 180-day limit. But it is frustrating to hear the amount of misinformation that flies around - the comments section of that article is a cesspool of misunderstanding and fear-mongering.