I question the idea that the credit cards companies (CCCs) don't make money on us churners.
The CCC's need customers with very good credit to balance out their risk portfolio.
I don't know their ratios, but for each 700+ credit score lets say they can have 3 high-risk customers. These high risk customers are where they make their money, with 20% interest rates and the like.
That is the real reason for all the bonuses.
Take Chase, do they really care if you're churning? If they did, they'd stop it. They just want you to keep your low-risk $20k of credit in their system so they can farm out the credit to other more profitable (high risk) customers.