There was an app called 'App Ops' that gave android users the ability to choose which permissions they wanted to grant applications. No root required.
Get too many notifications from an app, or don't need location functionality? You used to be able to turn these features off one-by-one for each app. You could also see the last time an app used location services. Android developers have a bad habit of requesting every permission under the sun, so I've gotten in the habit of disabling the permissions that don't add value for me.
Unfortunately, Google later removed this feature saying that its release was accidental. I thought it was a clean solution to a major problem.
Source: https://www.eff.org/deeplinks/2013/12/google-removes-vital-p...