I've known that geotagging my photos using a tracklog from my GPS was possible, but I didn't try it until this trip. There are some simple programs (such as PhotoGPSEditor) that match up the time on your track with the timestamp on your photo, and voila! Your photo is geotagged.
However, this means YOUR TRACKS HAVE TO HAVE TIMESTAMPS. When you "save" your track on the GPS, IT STRIPS THE TIMESTAMPS*. This means that if you want to use your Garmin (GPSmap 60Cx or similar) to geotag your photos, you need to download the ACTIVE track every day.
I could have geotagged thousands of photos this way if only I'd known. Learn from my mistake. Download your active log before clearing it! Don't just rely on that "save" function!
*Apparently this is a space-saving measure- a stupid one in my opinion. You should at least have the option to preserve timestamps or not.