I'd settle for the small lag with a humidity sensor. If you're the type to run the shower for a minute before getting in, it should kick in in that time.
Could do a presence sensor or motion sensor pointed at the shower. Haven't played with either, and you'd have to figure out water resistance.