There is no practical way to deal with this with OpenLayers. It's just how tile servers work.
Think about them as pre-fab bitmaps which are rendered once.
I've tried various things with scales and transforms in HTML, but that only scaled the images, rendering the fonts even less readable.
If you find this disturbing, use Google Maps, HERE Maps or Bring Maps. They have clearer fonts and scale better.
For normal personal use, the monthly free quota of these services should be more than sufficient.