Nice writeup!
I agree with how using px can lead to unexpected results. In addition to the units mentioned I'd also recommend considering em, which is based on multiples of the current font size. So 1em is the current font size, 2em is twice as big, and so on.