How can I fix bad elevation data in a GPS log?
Try http://www.gpsvisualizer.com. In the parameters set "Add DEM elevation data" to "From best available source". This will replace the recorded elevation with elevation data from a database, which should be more accurate.

Edit: Try this other sub-page of the same site to upload your .gpx and then download the fixed .gpx
http://www.gpsvisualizer.com/elevation