I take the actual elevation climbing with a grain of salt. Who really cares about those short rollers, 5 feet or less tall? Even gradual assents of say ½% rise can be difficult to notice, and certainly aren't comparable to the effort to do a 10% climb. At the same time, it gives a good estimate that can be compared across rides.
I would like to see a rating of say hills > 10 meters (33 ft) climbing, and 2% slope.
As far as accuracy, Strava should be able to start compiling their own database of elevations of primary bike routes. Take the GPS data of say 100 rides on any single route, and the data should average out pretty well, although it is interesting watching the real-time elevation data on RideWithGPS. I'll frequently be climbing a hill, and look down to see my elevation dropping.
Strava has an issue of figuring out when a person is actually ON a segment. We've got a local overpass with some riders going over the overpass, and some going under it, and someone defined a segment going over the top.
https://www.strava.com/segments/1062935
Note, I can assure you that the bump shown in middle of the segment doesn't actually exist. But, if you go down the leaderboard, most of the top few riders went under the bridge. It is complex as GPS coordinates never quite match up with the roads, so Strava allows for some variation which allows for jumping between segments.
Here's a switchback posted by someone else that Strava can't differentiate between those climbing and descending.
https://www.strava.com/segments/3267169
Still, those close parallel roads with divergent elevations are the minority of routes that (road) cyclists take. So, in general, averaging elevation should do reasonably well. A few roads might have significant banking which could be an issue, but assuming enough rides on the road, one could treat each direction of travel independently.
Oh, one of my "fastest" descents, Strava had me riding through the bushes.
For a false 57.7 MPH
False 57.5.jpg
But, that is also a good indication of why these precise calculations are so difficult.