In my answer to Should we require minimum reputation to continue asking questions? I came up with a possible solution.
The essential problem is that some people come to SO, ask lots of lame questions, and never give anything back. The proposals have included only allowing a certain fraction of one's rep to come from questions and only allowing users to ask questions if they have a certain amount of rep, but neither of those seemed particularly popular.
This suggestion is:
Require that unqualified users have their questions reviewed like edits before being posted.
What is the qualification? It could be rep that's a certain multiple of their questions (say 10 rep per question) or a certain ratio of questions to answers, or some other criteria. We could also allow a certain number of questions to not require review (say, 5-10) so that a user would have to lose their ability to ask unreviewed questions rather than have to earn it.
Who reviews these questions? It could be 5k, 10k, 20k users, or maybe anybody above 2k who also has the ability to post questions without review. It could even be people with sufficient points in the applicable tags.
How would this mitigate the flood of bad questions? First of all, users would be rate-limited by only being able to have a certain number (1?) of questions in review at once. If a user keeps getting their questions rejected, they could lose the ability to submit for a period of time ("We are no longer accepting questions from this IP"). When two reviewers reject a question, nobody else will ever see it (maybe not even as a deleted question). Of course, there would be an "Improve" button so that reviewers could fix minor problems before anybody else ever had to read the problematic post.
Furthermore, upon clicking the "Reject" button, there could be a dialog box with a list of checkboxes to select reasons for rejection ("Off topic", "Spammy links", "Lack of formatting", "Not a question", "Missing sample code", "Too much sample code", "Poor English", etc.) and maybe even a box for remarks. This would allow the person asking the question to see why their question was rejected, fix it and resubmit (if applicable). This should train users how to write acceptable questions. The review page could have the question's preview remarks and deltas from the last submission, a link to the user's most recent rejections, or something in between.
What are the downsides? Unfortunately, this would increase the burden on reviewers. Hopefully the "training" aspect should reduce the ongoing burden of any particular user and not having the bad questions posted in the first place should eliminate edit reviews (i.e. review the question before it's posted so you don't have to review several edits to the question after it's posted). In other words, this is like unit testing -- it seems like it would add too much of a burden initially, but it actually ends up saving time and helps deliver a higher-quality product in the end.
Some users could be insulted by having their question criticized. This should be minimized by having standard rejection reasons that aren't personal, while the remarks would hopefully be a polite nudge in the right direction (e.g. "Just specify the OS you're using"). Of course some users would go away entirely after being confronted by this, but it's not clear that those are users we want.