This is off-topic, but in response to John's final thought: My only issue with charging up w/o an enemy in sight is that it often makes me overly prone to enemy snipers. Thoughts?
–
Jonathan MabeJul 7 '10 at 20:13

@Revoked And to enemy spies of course. Also on a cramped map you might be charged and not notice an enemy solider/demoman rocket/sticky jump across the map to near you
–
RobVJan 11 '11 at 14:28

The only classes that you can't kill with a zero charged headshot with the sniper rife are Solider, Pyro, Demoman and Heavy, with each of these requiring 17%, 9%, 9%, and 50% charge for a one shot (headshot) kill.

Also worth noting that you can oneshot kill (bodyshot) a Scout, Engineer, Medic, Sniper and Spy with a 100% charge if you think it's a better bet than the head.

All of this goes out the window if a medic is charging, but the above link has info on that too.

If it's a Heavy, scope and fully charge a shot (being careful not to let him see you or your dot). They're not likely to reach you in the time it takes to fully charge.

If it's a Soldier, Demoman or Pyro, charge about halfway before taking the shot.

If it's anything else, an unscoped headshot will do.

Don't even bother with a Scout unless you're very sure of your aim.

If you're not sure, charge up and go for a bodyshot.

This keeps you out of scope most of the time, allowing you better situational awareness and target-picking. This also depends on what KIND of sniper rifle/bow you have, whether or not they know you're sniping, whether or not they're being overhealed/ubered, the skill of the player you're sniping at, and whether or not the Soldier/Demomen know how to rocket/grenade jump.

If you're using a bow, you don't need to worry as much about when to charge. The bow charges pretty quickly, and is better suited for mid-range fire anyway.

If the target knows there are snipers, be prepared to take a less-than-ideal shot as they weave and dodge your fire. Any damage is better than no damage.

If they know where YOU are specifically, move somewhere else. There's a high chance they will focus you down and make your sniping position undesireable.

If they're overhealed, be prepared to charge a bigger shot for them.

If they are ACTIVELY being overhealed, try to aim for the Medic first. Even if you don't kill him, making him flee for health is a victory in itself, and will make future targets softer.

If there is an uber, don't waste a bullet.

If they know how to rocket jump/grenade jump, aim for the spot where they intend to land, or at the peak of their jump, where their horizontal mobility is at its lowest. Be prepared to no-charge this shot, or charge it just long enough for them to reach their peak/bottom. If you're lucky, they'll kill themselves with their own jump.