Well, the easiest way to not have it sneak up on you is to have them spayed as soon as possible.

Cats can go into heat whenever they feel like it. My sister's cat would be in heat for a month straight if there was a male nearby.