I have multiple battlemats so, in the best case scenario, I draw out major encounter locations beforehand. I used to draw out everything (e.g. in dungeon exploration), but I found that to be a waste of time and it was better to just fill in their paper map as they go.
I usually put one major encounter area on each battlemap, with each hidden by the previous (or I turn them upside down). If I'm cramped for space or the areas are small (but numerous), I'll draw them in order and then fold the map over on itself so that it can be slowly rolled back as new areas are reached.
I only draw out major areas of importance; usually b/c I'm expecting a battle. For random encounters or minor battles, I'll quickly sketch something simple out.
One thing I've found useful is to not describe the room/area until after the players have seen the battlemap (if applicable). It's easier for them to listen to a description when they have visual references to refer to. If you read it out first, they'll ask a bunch of questions when you show them the map. But if you read it out when they can see the map, everything will fall into place much easier (unless your drawing skills are truly horrible).
The other thing I do is to write terrain modifiers right on the map for ease of reference. I also have all the different conditions printed out on large cue cards so I can just place them on the map or give them to players as needed.