Next time you're missing a segment, click on the Distance or Elevation correction links and see what happens.
The elevation numbers typically do OK on non-barometric recordings - e.g. using the smartphone app or one of the lower end GPS computers. When it comes to barometric recordings they can be all over the place. If the weather is fairly constant - i.e. with no storm fronts moving in, without a huge temperature differential, and giving the GPS unit time to acclimate from indoor to outdoor settings - the barometric altimeter works really well. But there are times when it can be
way off.
On my two Garmin units (Edge 520 and fēnix 5) I've set a known elevation point for my house, as well as other places I frequent (e.g. Mitchell Park in DC, Eastham Park in Front Royal, Boyds MARC Station, Thomsons Crossing Park-and-Ride) to allow the GPS unit to lock in on an accurate elevation to start. This won't completely prevent drift but it certainly helps.
An example: before programming the elevation into my Garmin, I'd often see my neighborhood reading at 60 to 70 feet below sea level during the hottest months of the year. While the elevation reading for the ride wouldn't necessarily be too far off, it would read low, overall. And if I did a longer rest stop there were times when the Garmin would re-calibrate its elevation and show precipitous drops or climbs when I resumed the ride. Strava's elevation correction (and RWGPS has it, too) will often bring things back into alignment with reality - all dependent on the quality of the ride track, of course.
I've not used the distance adjustment more than once, as the corrections can sometimes be jarring and flat-out wrong.