I think one natural thing to do is to decompose the grades into humanities, social sciences, and sciences. We know science and math classes are graded on a worse curve (in general) than humanities and we could gather data on the average difference and correct for it. We'd also like to correct for selection bias but I'll leave that for another post.
After fixing for the composition effect we'd want a way of comparing school Z to school Y. If we assume both schools have roughly normally distributed GPAs and normally distrbuted intelligence, and then use SAT as a proxy for intellect (just because its easy to get those data!) we could put the GPAs on a same scale. Specifically, we can find or estimate the mean and standard deviation for each college's GPA and SAT score. Then we calculate z-score for the GPA and convert that z-score to an SAT.
(GPA_i - mean_gpa,s)/SD_gpa,s = z then (z*SD_sat,s)+mean_sat,s = GPA_equiv,i
where s is an index for the school and i is an index for the individual.
I did this to compare an all-science GPA of 3.9 at the University of Florida to a 3.5 at Harvard, using some, admittedly rough, means and standard deviations. I found that in equivalence terms they are a 1478 and 1512 respectively. So you should probably prefer a 3.5 Harvard grad to a 3.9 Florida grad.