Re: What about public wifi
Indeed -- leaving WiFi on is, all by itself, a pretty bad idea (from a security/privacy point of view, but the battery point is valid as well).
Personally, I use Tasker to periodically check the phone's GPS location, and when it finds itself near a WiFi AP that I am willing to use, it automatically turns the WiFi on and connects. When it leaves the range of that AP, it turns the WiFi off. In this way, I get the best of both worlds -- my WiFi is off most of the time, but I don't have to remember to turn it on and off myself.