The best solution, IMO, is to use Plex + Plexamp + Tidal-DL for the ultimate lossless media setup. It requires some programming though.
First, use privacy.com or another CC generator to signup for a free month of Tidal. It usually lasts 2 months before they cancel your account, so you'd have to do this 6 times a year.
Then, build a Tidal-DL web frontend to download music. You should also use the unofficial Tidal Python API to get search results, and use Plex's API to refresh your library after download.
Finally, buy a lifetime Plex pass and use plexamp to stream your music. You can also setup lastFM through Plex and use it to get music suggestions. Pipe that through your frontend and you've got yourself a relatively cheap Spotify alternative.