Way beyond my knowledge or need, but makes for very interesting reading, Anders!
I added proof of concept code here to anyone interested. I've used this to calculate a elevation curve for a local race I'm organizing, data from that is included as a demo:
https://github.com/atorger/gpx-elevation
The reason I can be so certain about my reference curve is quite accurate is that I have over 80 high resolution LIDAR fixpoint retrieved from the local government surveyor database over that course that I can anchor the barometric measurements too, and I can see the correlation of those measurements is very good once anchored.
However, the fewer fixpoints one have, the harder it becomes to merge the barometric measurements as there is quite significant drift over this 4 - 5 hour ride and altimeters have some lag that vary, so there is drift horizontally too.I was expecting vertical drift, but the lag horizontally which can be as much as +/-80 meters I did not know about before this investigation.
Many bike computers can nowadays present info about upcoming climbs, so you can see how steep a climb is and how long it is left.I think garmin calls their feature "ClimbPro". It's pretty cool, but here in Sweden its basically unusable as the elevation curves you get from typical services is just way off where the climb starts and ends.
The reason I want nice elevation profile for my race is to be able to provide this "service" to the participants that they can use the climb feature of their bike computers and trust what they see.
Reliable Permit Solutions, LLC
Wholly relying on SRTM for elevation currently is, for the lack of a better word, unacceptable. There are just too many things that rely on the elevation data to not do better. One of those things is the virtual partner advanced settings. Being able to adjust the virtual partner is the only reason I'm a premium member of PAR. Lately, I've tried to tweak the settings to better model my riding. The PAR elevation data quality makes my task impossible.
@Anders Torger
Since you've discovered that Strava has good elevation data, why don't you change your "distribute the raw GPX file" desire from "distribute it via plotaroute" to "distribute it via Strava"?
@Paul
You can see the quality of Strava's elevation in the first graph posted in this thread. It's clearly using the technique to process the reported data from users (and they also claim to do so), but their algorithm is so far not that great causing errors much larger than necessary as seen in the graph. It also takes quite a lot of rides, probably from many different riders, and a lot of waiting before ride-derived elevation data appears. In the long term Strava could be the best alternative for this application, but so far the file I have derived from gathered rides is of much higher quality than what I get out of Strava at this particular route.