Common grade curving or scaling techniques
It's not perfect, but I often use a piecewise linear transformation.  Specifically, I fix some cutoffs (typically the cutoff between a B+ and an A-, between C+ and B-, between D+ and C-, and between F and D) and then scale all the A's linearly with their range, the B's linearly in their range, and so on.