The best system for medical students would have multiple rounds in the match with time in between rounds for continued application and interviewing. Top programs and top medical students would match each other in the first round. Lesser programs and lesser medical students would find each other with subsequent rounds. Unmatched students would be the weakest applicants not just those who lost the crap shoot. A managed scramble is a move in the right direction, but isn't enough because too many of the jobs, all of them for some specialties, disappear on the same day.
I'm not certain this would be any better. Top students would clearly fare better -- they would apply to some top programs only, get interviewed, match, and be done. But it would be horribly painful for most medical students. They might be completely bypassed in the first few rounds. Each round you were bypassed or failed to match would be demoralizing and induce panic. Plus -- imagine you apply only to the best of programs in the first round, and don't get a spot. Maybe some second tier programs will fill in that round, and now you've lost any chance of getting a spot there instead. So, to avoid this, you'd need to interview at second tier (and by the same argument, third tier) programs also. So, you still need to interview at enough programs early, and then there's going to be large numbers of people who fail to match in round 1, then compensate by going on even more interviews for round 2. Plus, each round of apply/interview/rank/match has to take at least 2-3 weeks.
The problem is that the whole "job market" for residents is very strange. I hire people for 1 year (to be interns), then have to re-hire all those positions the next year. I can only hire from a very specialized subset of people. All of those people graduate from medical school at exactly the same time, so if I miss out I need to wait a whole year for a new crop (not necc true for IMG's). Usual supply/demand forces are highly skewed.
As mentioned above, doing away with the match is not a good option. You suggest that by doing so, programs will have to woo applicants. It's much more likely to be the other way -- applicants will be begging programs to take them, volunteering to have no salary, etc.
Also, it would all depend on how the system works. You (I think) are assuming that if you get a job offer from Program A, that you could keep looking at other offers. As mentioned, in the past (which is not that long ago for the IM fellowships, which recently entered the match) this was not true -- you were offered a spot and contract, and the offer expires in 24 hours. Take it or leave it, and once you sign a contract you can't simply change your mind.
If we were to try to enforce a "you can hold any one spot, and when/if you get a better offer give that spot up and keep the next" type of policy, programs would go insane. Medical schools work well with this type of system -- but there are two big differences. First, if a school is targetting a class of 100 students, it really doesn't matter much if they have 95 or 105. Second, if someone drops out at the last moment, the school has a waitlist of plenty of people -- someone will take a spot. Programs are highly regulated as to how many interns they can take, and we don't have a huge pool of people to take at the last minute. Such a policy will ultimately hurt students/residents -- imagine coming to work at a new program and finding out that, at the last minute, several of your colleagues took an offer from someone else. Now, you end up getting stuck with all the extra work they were going to do -- I know, sounds unfair (and it is), but that's often the way the system works since PD's can't just go and hire people.
In fact (and now this is stream of consciousness), if we had such a system I would have an incentive to "shoot low" -- if I took "really good" students I would worry that someone else might snatch them away from me. It would be safer for me to take "lower performers" because they'd be unlikely to get a better offer.
Honestly, I think the match is best for all. I agree the scramble should be fixed, and as others have mentioned it will be either next year, or 2012. I wonder if we could improve the match with some sort of "early decision" system -- for those people who are certain where they want to be, allowing them a chance to simply get a spot without interviewing at 10 places makes sense. But such a system will quickly degenerate the match -- programs will start to fill their spots with early decisions, applicants will panic that no spots will be left, applicants will decide that they have to apply early decision to get a spot at all, which will only create more early decisions and fill spots, which will leave less spots to fill, which closes the loop and feeds the frenzy. So, it won't work.