I know I posted about this but can't find it -- but today I learned of the --human-numeric-sort option to the GNU "sort" command!
"sort -h" is smart about suffixes: it knows that 999K is less than 1M, and so on.
It's obviously designed to handle input from things like "du -h", which means
du -h | sort -h
does exactly what you want!