All can be remedied by tweaking the algorithms and that happens all the time, you can also use a certain vertical directly for certain type queries (scholar search etc).
The same way that what a user might enjoy can be inferred the inverse of that can be used as a signal in the algorithm as well. Personalization is just relevance and all is just a matter of tuning.