With H1B you are not tied to the same employer, you are free to leave the sponsoring employer and go elsewhere. I don't know about the E-1 visa. Again, if you feel they were being paid below the market rate, you can check up the bulletin board to make sure.
or it just gets accepted as cost of doing business with this person. Which is entirely reasonable (you spend a couple thousand to get everything transferred, not that much long run).
isn't the problem that if an h1-b worker gets fired they are screwed (have to leave)? I know with a TN that's the case and it sucks.
If a native employee is fired, they lose their job and probably go on unemployment while the look for another one.
If an H-1B employee is fired, they get deported.
Employers know this, and they treat H-1B employees accordingly.
That was definitely not true during my time on H1B. The feds could legally deport you, but they never bothered to.
"Some company"? No law abiding company can do what you're saying, let's get real. This is illegal. This is the reason that these fraudulent "staffing" companies exist in the first place since they know the employee will never be a whistle blower and for the love of god I don't understand why?
The solution is never that simple. Unfortunately for many of them they're butts to fill seats for signed contracts. They go out on 6+ month on-sites and live with several roommates working for the same company. They can't pick up and leave because they're not qualified enough or experienced enough.