Items can be found in-game based on the time spent in-game. Currently there is no way to influence which items you find; it is completely random. There is a limit to the number of items you can find per day, and the longer you spend not playing, the more frequently you'll find items for a while once you come back to the game.
Weapons like the Blutsauger can be found via achievement also for a couple reasons. Valve set a precedent with that because the Medic pack and some others were released before the random drop system, and that was the only way to get the items at that time. It is also because competitive players need access to all the items so that they can be on equal footing with each other, so there needs to be a way to reliably get a specific item. At least, that was one of the reasons they added achievement-items back in the Sniper/Spy patch. I don't believe they still think this, with some of the new items not added through large class patches.
Certain classes are better against certain other classes.
In general:
Heavy is weak against Spy, Sniper, and Demoman.
Heavy is strong against Scout, Pyro, and Medic.
Heavy is even (more or less) against Soldier.
An Engineer versus Heavy depends entirely on if the Engy has a level 2-3 sentry or not. A mini-sentry or level 1 sentry will almost always see the Heavy win at full health. In this case, the Engineer should flee. If he was building mini-sentries, building them as you flee is an excellent idea, as it will slow the Heavy down to kill it, or make him ignore it to chase you, dealing him damage all the while.
Medic is weak against Scout, Pyro, and Soldier... well, most of the classes in the game, but those three in particular.
Medic is strong against the Spy, simply because a Medic that continually moves will generally outrun or dodge a Spy's backstab.
The thing is... a Scout has the best chance of killing a Medic if he can manage to get behind the Medic, simply because a medic is a 2-shot kill with the standard Scattergun at close range.
Now, the best defense against a Heavy/Medic pair is to work with your own teammates. If you can take out one of the two, the other teammates may be able to take out the other.
If you really do need to combat them alone, Sniper is likely your best bet. As tempting as it is to go after the Medic first, if he keeps moving, he can generally outrun your scope. However, a fully charged headshot will one-shot the Heavy.
If they Uber, run, unless you're an Engineer trying to keep a sentry nest up. In this case, repair repair repair, and hope that they aren't smart enough to have the Medic block the sentry's knockback effect. If you can get a Pyro to help you by airblasting the Medic or Heavy away, even better.
P.S. NEVER go head-to-head versus a Heavy, he will always likely win simply because of how much damage he does.
Best Answer
As the medic, your primary objective is to stay alive. If your ally is running somewhere stupid, don't follow him. Don't latch on to a single teammate and just keep him alive; keep everyone around you overhealed all the time.
If you are a good medic, your allies will protect you. If an enemy is coming straight for you, run towards an ally who can take him. Generally, as a medic, you should not be engaging in combat unless it is your last option.
If you keep your team healthy, they will have no problem keeping you alive too. Just stay out of the way.
I'm going to restate this point because it's extremely important: do not follow your teammates into certain death.
Medic can be a frustrating role because they can't do anything without competent teammates, but every team needs one.