I think you are forgetting that the GPA is the average of the student's academic history. A student with a C average, means he wasn't doing to well in a number of his classes, not just one class. Its a pretty fair assessment of students study habits and ability to compete with other students and to learn new material. The problem arises with any average is it also acts as a buffer (makes it hard for applicants to screw up their gpa or improve upon it, once they have alot of units under their belt), and thats where assessing a candidate based on GPA isn't fair either.
Suppose a C student w/ 120 units under his belt, all of a sudden becomes a straight A student, he is going to have to take ALOT of units to bring up his GPA. He's demonstrated that he is capable of being a great student, but his GPA won't show it.
The PCAT is a standardized test, and it should theoretically demonstrate how well a student will do in pharmacy school by testing the student's knowledge he gained in undergrad. However, as with any standardize tests, students can prepare for this, no matter how difficult you make the test. A student with a low gpa, if he has enough time and money, can beat this test. Instead of learning the material in undergrad, he can just learn to beat the test. This is the downfall of any standardize test.
So I propose a better solution, I think adcom should make a decision based on a coin flip (I was watching "no country for old men"), but I will settle for nerf wars and dodge ball