On Android there are apps to manage this automatically. I'm using Smarter WiFi Manager myself, and it does work pretty well.
It's real limited in what it does, but it can turn wifi / bluetooth / other stuff on depending on time, location, the usual stuff.
I would love to have a real "Tasker" type app for iOS, but I doubt that will happen anytime soon.