There is an app on play store I use to revoke permissions on an app by app basis called permissions denied (I use the pro version). I use it for apps like Red Laser (a good bar code scanner) which wants permissions to access contacts, and I don't want that. Now for removing permissions you have to be careful, apps can be broken by removing permissions that the aapp actually needs to run. There is no set list of permissions that are okay to remove. A permission revoked on one app may be fine, but when the same is done to a different app may break that app.
When I say be careful, I mean it. You can mess up your phone doing this to system apps. This can make your phone unstable or worse.