If you are one to carefully curate your contacts book to contain addresses, emails, birthdays for your own convenience and productivity, you have now provided a veritable goldmine of information for these companies to plunder, and betray the confidence of your acquaintances. I really despise this, and I've been looking for a solution but none thus far have seemed satisfactory.
I know of apps (at least on Android) like Bouncer and alternatives from F-Droid that can temporarily grant access to certain permissions like Location for a few minutes at a time, while giving the apps the illusion of full access.
However, save for using a Private Space or different user profile (both similarly require provisioning basically an extra instance of Google Play and everything) I haven't yet found a way to feed some sort of dummy contacts book to these greedy apps. If anyone knows of such a solution that is more convenient than setting up a new profile then please enlighten us.