Marymount University in Virginia is using a new approach to evaluate student services: it's using secret shoppers.
I think this should be extended to evaluting professors. Have work-study students register for and attend a class and take all tests. The grade wouldn't appear on the student's transcript but a minimum grade would be needed for the student to get paid. And the student turns in an evaluation of the class and professor.
It wouldn't be perfect, but it would be far better than the student evalutions used in most places currently.