What about something like gps service? I use foursquare, I have a gps shortcut on my homescreen to keep it off, but turn it on before going into foursquare, and then turning it off when I am done.
Rather than manually toggling I think that you can use Smart Actions or Tasker to automatically turn GPS on when you launch FourSquare (or Google Maps, or whatever other GPS-based app you run) and then shut it off when you're done. I think that's suppose to be the point of those tools.
I generally leave off any radio that I'm not using on my D2. Leave Bluetooth off until I'm getting in my car, leave wifi off except when I'm at home or someplace where I know there's an AP I can use, etc. It would be nice to automate it.