It seems like a pretty straightforward way to improve search for the end user would be to allow end user personalization.
For example search results could include ‘prioritize results from this site’, and ‘never show results from this site’ as options on each result.
As far as I can see the only reason this kind of search customization is not offered is because it would undermine Google’s business model.