I personally like being able to use Spotify as my front-end, but it doesn't support flac. So I personally pay for Deezer's Flac option, I use xManager for listening to music on Spotify, and I have a script setup to automatically download all my liked Spotify songs from Deezer in lossless flac. It's not free by any means, but is the best/easiest way to download music I've found.