>hope doesn't end in a consonant, so the 'p' isn't doubled

hope ends with an "e", sometimes called magic "e". An "e" on the end of a word has the effect of turning a short vowel into a long vowel - hop into hope, rip into ripe. When adding a suffix, take away the "e" first, then double the consonant before adding the suffix.

This is not an exception - I'm still trying to remember those!!! Maybe something to do with soft c's and soft g's.

Afterthought: I've just re-read your posting tsuwm - I'm not sure if your alternative rule works for everything, I'll look up some examples.

I wonder of the reason the US is so keen to drop double l's in the middle of words is because people who's first language is Spanish will read ll as "ly" or "dj" - so it might be easier to avoid them. We have very few Spanish speakers, so it is less of an issue here.