XPrivacy provides fake information for a several permissions, including location when an app is denied that permission. You can manually set or auto-randomize the fake information. People often ask me why I'm sending them Facebook messages from Pyongyang.
That's exactly what it does. It feeds the application with fake or no data. There's no other way to do it due to Android's (in my opinion fundamentally flawed) security model.
xprivacy provides graceful denial of permission by providing false (potentially randomized) information. For example, rather than deny internet permission it will trick an app into thinking the internet is disconnected. Instead of denying GPS access it will tell the app that you're in a user-defined or random location (based on your settings).