First, this post is purely in the realm of ideas. It's not about the practicability of such a solution technically or economically, only conceptually.
It seems that a relatively efficient move toward reducing junk and improving the search experience would be a passive or low-friction follow/friending system combined with a passive or low-friction whitelisting/blacklisting mechanic. This would be used in conjunction with today's typical algorithmic approach.
Essentially, you have the normal search experience of today, but when you get to something good, you give it a thumbs up. If you dislike something for being spam or junk or unacceptable quality, you give it a thumbs down.
Upon giving it a vote of approval, you "befriend" everyone else who's done likewise. Upon giving it a vote of disapproval, you "defriend" everyone who's approved it.
Friends of friends would also be in your network and you would see the results approved by anyone in that network. Upon voting something down, anyone who approved it drops from your network as does anyone else only connected to you through that person.
You see only what has been approved by someone you have a common approval vote with or others in that person's network.
The net effect of this is that you only see what someone with something in common with you was willing to endorse, and if that person ever endorses something that you think is junk, they disappear from your network along with their pages.
You would still have the ability to search the standard index, and you could also have the option to search the index without any pages that have been disapproved by your network and yet non-voted pages are included.
When viewing such results, it would be simple to flag the junk for a given search result, improving the subsequent search for others in yournet work.
Similarly, when you arrived at what you wanted, it would be natural to approve it for the whitelist index.
In time, a user's network would grow robust and redundant. Tolerances and margins could be established to allow for some measure of disagreement on marginal cases with those in your network if needed.
Disapproving a page would be couched in terms like "NUKE" or "TRASH" or "OBLIVIATE" or "THIS PAGE HAS NO VALUE" or "DELETE from 15,503 people's search results?"-- it would be clearly not appropriate for mild dislike or mere difference of opinion. There would be other instruction and clues about how you are likely to remove yourself from someone's network by overzealous disapprovals as you are from gratuitous approvals.
To me, this seems like it would be relatively effective at removing the pain of the worst internet searches, especially since those tend to be high profile things like meds, legal aid, education, consumer products, insurance, etc.