Yes, obviously donation/sponsorship doesn't work, but I'm not sure pay per issue resolved is the best model either. Good apps shouldn't be punished for having few issues, or needing few features.
People should be able to opt in, but I think opting in at the distro level is the right choice as it would create a broad base of support. Of course, there will be those that don't want to pay, but I think a premium model for power users and enterprise customers makes sense. These premium users could have access to beta/nightly channels, early SRPMS/src debs, and priority or triaged issue/PR resolution?
Are there issues to be resolved? Yes, of course. How to divide payments to apps, and within app communities, but these aren't insurmountable problems. Canonical, etc., could simply set standards and require app communities to explain any variance from those standards.