Actually, that is not necessarily a good thing to just sidestep. A lot of things that non profits work on might work better if they were worked on by companies. A lot of things that companies work on might have to be filled by non profits if companies weren't doing it.
Think of second hand stores. They are often run not-for-profit in order to provide cheap stuff to poor people. These compete directly with commercial low cost stores and other second hand stores. If these beat the non profits, there is no societal loss. One of the worlds most celebrated not for profits, the Grameen Bank provides small loans to poor people. It seems very possible that this NGO (and its many imitators) will be put out of business by commercial banks.
The UN has started a free online University to help the world's poor. I would take an either-or bet on for profit variants making a lot of progress on this issue commercially.
A great way of making non profits more like chess masters is making non profits into businesses. You don't always have to. But if it is feasible, its worht considering.