You really expect ethics from corporation? They are not human. They do not feel empathy. If you want them to act a certain way, it has to be put in law.
Hiding behind a legal structure yes, but just a bunch of people.
Laws are sticks. Profits are carrots.
Reduce the costs of doing the right thing, and suddenly companies will do just that.
Look at the difference in Obama's treatment of corporate inversions and Trump's treatment of it with the TCJA -- as well as the associated repatriation tax holiday.