Mine looks like this:
Aircraft (main keyword)
--> United States of America (operator)
----> C-130 Hercules (main type)
------> AC-130U Spooky (subtype)
--------> 90-0163 (serial)
(Oh how I wish I really had a Spooky in my db.. )
For me it's very quick and effective. I generally add keywords to the list before going somewhere, so I only have to fill in serials in the keywording field when coming back. Even after a busy day (like TLP / airshow) it takes me less than 10 minutes to keyword everything. I can display all my C-130 Hercules shots in an instance, but also search by subtypes like AC-130U Spooky, Tp84, L-100-30 and Hercules C5 (plus of course by country & serial)...
I don't need keywords to organize by location. On import I rename the photos so they include the date and ICAO code of the airfield (IMG_0123.CR2 becomes 20091031_ehlw_0123.CR2). Then I have smart collections for every location, so that all files containing 'ehlw' automatically appear in the Leeuwarden collection. It saves me time and the location/date is still evident when I export a photo. The disadvantage is I cannot search for 'Leeuwarden', but clicking the smart collection or searching for 'ehlw' does the same job..
I also have a smart collection for photos that don't have any keyword applied ('Keywords' - 'doesn't contain' - 'Aircraft'), so that I realize when I forgot to do some.
Next thing on my to-do list is to organize by operator (Air Force / Navy / Army etc), so I can search specifically for Hellenic Navy, German Air Force, French Army shots. I think a separate keyword list is the easiest way to do this, but any tips are welcome..