Everything would be fine if the corporations were actually sided with the idea of paying it forward to the consumers, but given the choice, they will simply choose profit to shareholders over people in general society that enables them to operate.
This is why we have a problem.
They have to, it's written in the law.
In the canadian law(and I believe it's similar in the US too), a corporation exist to create profit for the shareholders. They don't choose profit over people, they are forced by the law to do it. In theory, if a corporation would give to the people instead of making profit for its shareholders, it would act against the law and could be dissolved.
If you don't like the situation, talk to your politicians to change the law about the corporations, but don't go blame them because they respect the law.
If they are nice to customers, if they promote local events, whatever they do, they do it believing it can help them make more profits. That's the nature of a corporation, that's why they exists.
Shitting against the corporations because they make profits top priority is like shitting against the police because they make security & order top priority. That's their job!