I have a few projects too that involve the hybrid of the REST API and the libraries, it is definitely not ideal (should all be through REST API IMO). I guess Spotify could do it all over the REST API (including playback, Spotify connect, etc.), and then the client would only need to pull in a library that handles content decryption because the API can't send back decrypted audio streams (copyright/pirating). DRM is likely the biggest reason why they haven't done this yet (thoughts?), but the previous solution sounds plausible.
https://github.com/librespot-org/librespot has been a very good replacement for libspotify, and is pretty actively developed. Spotify can of course break this at any minute but it seems unlikely that this would happen.