Allowing the exploitation of foreign workers like that is bad for your country too. I'm Canadian, but some of our big companies use a similar strategy. Imagine being the foreign worker. You know you're being taken advantage of, many locals dislike you, the benefit is temporary, and it's endorsed by the government. It's a smart deal in terms of personal gain, but you're not stupid so you know you're being taken advantage of. That kind of treatment sows resentment and that's not good for the way people perceive your country.
Consider an alternative where companies hire foreigners for their superior skills. Those people will be respected because of their talent. People value being respected and, combined with an option to immigrate (if they want it), it's possible to build good will around the world. Instead of people teaching their children "America took advantage of me, but I benefited enough to make it worth it for our family", it can be be "America gave me a great opportunity."
People know when they're being cheated and if kids grow up watching their parents get cheated by a form of government endorsed exploitation they'll respect your country less and be more susceptible to propaganda and radicalization. IMO, exploiting foreign workers is bad foreign policy and has a negative effect on the long term reputation of a country.
Shame on all the companies that do this. It's bad for the foreigners, it's bad for the locals, and, worst of all, it's bad for future generations that grow up resenting each other based on nationality.
Every time you see an article like this, make sure people understand that foreigners aren't taking our jobs. We're all being mistreated and exploited by the same greedy companies.