I don't think it is true that getting rewards happen at the expense of the average Joe. The rewards are taken out of the merchant fees; if the credit card companies didn't make at least a small profit on us pay-on-time reward maximizers they wouldn't give us credit cards.
That said, I do think the whole system with merchant fees leading to rewards is a bit screwed up. It would seem that in this day and age the merchant and I could make a deal where I got a few percent discount and he was paid directly out of my bank account (~debit card), thus cutting out the credit card middle man. For reasons I don't understand, however, it is illegal for merchants to charge more for customers using credit cards, even if they have to pay steep fees.
That being the case, it normally isn't possible to get a cash discount directly so we frugal optimizers have to use a credit card for the cashback and rewards, even though we have no need for credit.