The weird thing is, it does. Or, rather, it's hidden-in-the-box. There's an app called App Ops that can be enabled if you have root access that limits permissions to installed apps - I'm actually not sure if it sends fake data instead but I'm yet to have an app crash from it. But without root it's not usable. Sigh.
Older apps targeting older API levels will receive fake data, whereas newer apps will be able to know whether they were actually granted the permission or not.
This would prevent apps (and app developers) from being left in the dark, and would also kill the "all or nothing" permissions model currently in place.
Nah.
I use AFWall+ and CyanogenMod's Privacy Guard to control everything, but it's sad that the data of most people I know may be stolen without their knowledge after they install yet another Subway Surfers-type game or "vintage photo effects" app.
People would use it all the time, and then complain that the app doesn't work.
The actual problem is the "all or nothing" security model that needs to be replaced with contextual permissions (like "This app wants to access your photos right now. Allow?", see iOS).
The "all or nothing" model defeats its own purpose by effectively leaving no choice for the user.
Essentially, showing fake data to the app if you pick this (eg: no photos, fake contacts, etc).
AFAIK, there are some android apps (and cyanogen) that add this features, but it really needs to be worked on upstream.
This is doubly useful for google, since they can always keep their own apps as "superprivilidged" on google-sponsored phones.