Google could fix this by making the algorithm take into account searches that often end with "reddit", thus applying more weight to Reddit results to similar searches where the user didn't include Reddit in it. Clearly it's an indicator that those are the better results.
Take StackOverflow for example. Almost any programmer will find a SO result as the top result and it's usually exactly what you're looking for. Since there's no money to be made by companies writing blog posts on debugging a compiler error, Google's algorithm works as intended.
Question is: Why hasn't Google done anything about this? It's the organic results that are terrible, so they're not losing ad revenue by placing these garbage sites at the top. Perhaps its to intentionally make better websites pay for ads to get better placement? But those won't be the ones to ever pay to begin with...