People wanting to criticize economics often set up a straw man, “Economic Man”, a purely rational and selfish creature who can easily be knocked down. However, economics has moved beyond this caricature (well, maybe business school economics hasn’t, you still get a Panglossian “Greed is Good” triumphalism in B schools). Read e.g. this paper in Science,
When Does ‘Economic Man’ Dominate Social Behavior?,
Colin F. Camerer and Ernst Fehr
The canonical model in economics considers people to be rational and self-regarding. However, much evidence challenges this view, raising the question of when ‘‘Economic Man’’ dominates the outcome of social interactions, and when bounded rationality or other-regarding preferences dominate. Here we show that strategic incentives are the key to answering this question. A minority of self-regarding individuals can trigger a ‘‘noncooperative’’ aggregate outcome if their behavior generates incentives for the majority of other-regarding individuals to mimic the minority’s behavior. Likewise, a minority of other-regarding individuals can generate a ‘‘cooperative’’ aggregate outcome if their behavior generates incentives for a majority of self-regarding people to behave cooperatively… Recently developed theories of other-regarding preferences and bounded rationality explain these findings and provide better predictions of actual aggregate behavior than does traditional economic theory.
See also the papers on the websites of these very good scientists,