I think this is an important discussion, sort of expected it to start sooner or later.
Here’s my 2 satoshis.
If we ignore the technical limitations for a second: we probably want users to be able to hide the number of apps and what apps they are using. It’s their data. (Though we should have in mind then, that many users would like to also hide this information from the app developer as well)
However my understanding is that the list of apps is public so that app users can discover each other and connect/share data. I don’t think it’s possible (without a third party) for a user to sort of ‘announce’ that they’re using the app to other users and keep this information hidden at the same time.
From the top of my head here are some options that could improve privacy
Web of trust
Encrypt info about the apps you’re using only the public keys of users you want to share this info with (say your afari or stealthy contacts). But then we need a mechanism for how users outside this network can connect with you.
Pseudoanonimity
Bitcoin approach: everyone knows every address’es balance, but it is hard to know who these accounts belong to. This would require the profile information like name, social accounts etc. to be encrypted so that it’s hard to trace back to the owner. Also possibly installing every app on a different subdomain so that info about what combination of apps someone has is not public.
Obfuscation
Monero approach. Users have apps that they really use on their profiles, but also all or some of the other apps. Only the user knows which ones they really use. This would be a bit messy.
Centralization
Might be possible, but sort of defeats the purpose of Blockstack: store a list of app users and urls to their gaia storage on a server belonging to the app developer.
Out of those I prefer pseudoanonimity and in the future, possibly, some sort of web of trust implementation.