Yo estoy lo hacía con Tasker, y funcionaba bastante bien.
Más recientemente, como Android de todas formas activa el wifi para ayudar al posicionamiento y tal, hice pruebas, y dejarlo activado apenas me suponía un 1% ó 2% de batería al día, así que ahora ya paso de inventos. (El Tasker eso sí lo sigo utilizando, pero para otras cosas).
El truco es usar un posicionamiento que no gaste batería, yo usaba la celda de telefonía. Cuando entraba en la celda de la antena que cubría mi casa, encendía el wifi.