Sounds like your pipeline is about as optimal as it's going to get up to the point where you start running the shell scripts. When I did my Costa Rica pictures (warning... dsl link), I wrote two scripts -- one to generate the thumbnails from the Gimped images, and one PHP script to be my album. I didn't use any EXIF tags, or anything like that -- I encoded what I needed to know in the filename (day, shot number, if it was retouched, if it's a crop, and who took it), and then tossed all the captions into flat text files read by the PHP script. Ultimately, using EXIF tags would be more robust, but then I'd have to fill out all the tags, and need to have whatever web-page generator I'm using read EXIF tags. The latter shouldn't be too much trouble, but when you're wading through 300+ images doing retouching, etc, let me tell ya, the more info you can pack into a single letter of a filename, the easier your life gets.

Cheers,

Edit: Nice pics, BTW. I should probably trim mine down one of these days...