Well, this is an interesting question because it can be answered in two ways. For instance, do you mean how many literal shots should be taken or how many final shots should you have? I'll answer both here.
First, remember that quantity does not always equal quality. For instance, if you have a headsht photographer who snaps a hundred pictures at every location and you go to 6 locations in your one hour session, you have 600 pictures to look through, and they will probably get tiring.
The word of caution I like to emphasize is that you will get bored staring at so many almost identical Headshots that you will lose he ability to perceive the difference between them, and you'll wind up choosing a bad headshot. The advantage to having a smaller number to go through is that you keep that fresh eye.
Another problem with photographers who shoot a ton of pictures is that they are not skilled and hope that amidst all of the photos, at least one will be a usable headshot. Unfortunately, that's usually not the case. I tend to snap 15 pictures or less of each different pose. Usually I'll shoot about 30 or 40 at each location, which helps a lot.
Now, to answer the second question about the number of Headshots you should have as final versions: I'd say have at least three or four, and better to have more.
You want to make sure that you get at least one good shot for each $100 you pay, because if youre getting less than that, the headshot photographer is not doing a good job. If you pay $600, you should get at least six amazing shots.
I definitely recommend though that you don't have more than ten good Headshots at once because it will confuse you and be hard to keep track of. You need to track your response rate when submitting your headshot. But that's the subject for another article.