The model isn't perfect, but it is realistic for many publishers, provided that no one is turned away if they cannot afford to pay. It turns out at least one not-for-profit journal has been able to adopt just such an idea that protects those vulnerable, while raising funds at the same time. The Journal for Open Research Software, run by the Software Sustainability Institute (of which I am a fellow - though I am not affiliated with the journal) offers a voluntary APC:
If your paper is accepted for publication, you will be asked to pay an Article Publication Fee of £25 to cover publications costs...You will be able to pay any amount from nothing to full charge, as we recognise that not all authors have access to funding, and we do not want fees to prevent the publication of worthy work. The editor and peer reviewers of the journal will not know what amount (if any) you have paid, and this will in no way influence whether your article is published or not.I'm not sure how well this policy has worked for the Journal, but I have to say I'm incredibly enthusiastic about it for a few reasons. Firstly, it acknowledges openly that publishing - even open access publishing - DOES cost money. That money needs to come from somewhere, and APCs, like 'em or hate 'em, are one such solution. Secondly, it acknowledges that not everyone has a research budget - students, emeritus scholars, independent scholars - and that these people should not be squeezed out of the system of research publishing because of their career status. And thirdly, it's a creative solution that's taking on the challenge of raising money for publishing that thinks a little outside the box.
We're all going through changes in terms of publishing and academic funding. I for one am pleased to come across examples such as this that are facing those changes with optimism and ingenuity.