Fakestore, blankstore, gms, microg, unifiednlp - what's best for Android without Gapps?
Some basics first:


NoGAPPS is deprecated and got replaced by its successor, µG (read: microG).
µG includes the core (basically, GServices) and also UnifiedNlp.
No GService replacements will support the Google License API. That's much too hot an area. While we all love dentists, we better not see them working on us (replace "dentists" by "lawyers" in this context).
there are ways to access PlayStore, though, and you've mentioned some candidates:


BlankStore: Deprecated, no longer maintained except for bugfixes, but its successor not yet ready. Supports only free apps.
FakeStore: As the name suggests, only a "fake" – i.e. it fakes the presence of Playstore to apps not working otherwise.
Yalp: Like BlankStore but still maintained, plus supporting apps you've already bought (but not the process of buying and not the license check some paid apps perform).
More candidates in my corresponding app list.



I'm running that combination (CyanogenMod + µG with UnifiedNlp + BlankStore/Yalp) for about 2 years now. The only thing I found not working was paid apps that wished to verify their license against GPlay – apart from that, everything runs smoothly. For details, you might wish to see my article series on Android without Google. Note that, however, there seem to be some issues concerning LOS 14.x and UnifiedNlp currently; for details, please check with the issue tracker on µG's Github presence.

You can find the implementation status in the project's wiki, as well as a short introduction. In terms of privacy, you can derive from those two:


  Acting as a replacement for the closed-source Google Apps (GAPPS), it is a powerful tool to reclaim your privacy while enjoying Android core features.


(from the introduction; emphasis mine). In the implementation status, take a closer look at two columns: Functionality and Crashing. If both are "No", we have a dummy: Apps think it's there, but absolutely nothing is happening in there (especially no data transmission); this is and always will be the case for Analytics and Ads, for example. No functionality and crashing means there's nothing implemented (not even a dummy) – so apps accessing that might crash, but again nothing is transmitted (currently e.g. Auto and Cast).

If data is transmitted, to my knowledge this is limited to the absolute minimum for the functionality to be achieved. This e.g. includes Google Cloud Messaging (token, id and obviously the message must be exchanged, where the latter is usually incoming only), Account Authentication (guess what: account name and token/password must be sent for that, or there can't be an authentication), Maps API (must obviously send the desired position for the tiles to be retrieved – but this doesn't go to Google, as it uses OpenStreetMap/OpenScienceMap instead). Fused Locations doesn't run via Google either, as it uses the UnifiedNlp backends instead.