Better quality USB flash drives might be an answer. I ran one of mine through the washer and dryer and still could access the photos I had stored on it. I also have an external hard drive, but that has the same potential for failure as do any hard drive inside your computer. I am now copying my photos from my external hard drive to flash drives which I will store in my safety deposit box at the bank. Another possible solution is "cloud based" storage backing up your photos to a remote server via the Internet. There are various services available for about $60 per year.
Another problem is the "jpg" digital photo format itself. The "jpg" format is a "lossy" compression that reduces the massive file size generated by your digital camera to a more manageable size. However this compression is done by selectively tossing out data. "jpg" files re-compress every time they are closed and eventually start to loose enough data that the photos degrade in quality. Newer formats like "jpg 2000" are non lossy, but would require you to convert every one of your photos to this format. To avoid the re-compression problem make your archive copy immediately when downloading the photos from your camera and keep these archive files in a safe place and unopened.
Eventually the "jpg" photo format will be changed to something else so it will in the future likely be necessary to migrate your digital files to some new format just like we have to move our 8mm movies to digital format. However given the popularity of "jpg" photos I expect that format to be around quite a while.
Would SD cards also be acceptable? I am in the process of scanning old family photos and was thinking of using SD cards for storage.