The integration with Garmin is probably my most used, clocking in at 5-6 times per week, followed by the Concept2 ERGdata app.
One commonality I've noticed is that STRAVA will shave a very small amount of distance off a recorded run or row, but more frequently on runs, and it's not much - less than a tenth of a mile. But it's so prevalent that the folks in my run clubs have just defaulted to "rounding up for STRAVA". It's quite an agonizing thing to race a half marathon, stop at 13.1 miles on the nose, only to have STRAVA record it as 13.09.
If only GPS were the explanation; I've also had STRAVA short me on rowing sessions, where the distance is predetermined on my Concept2 rower which automatically completes & saves once that distance is met. For example 10km completed in a row has shown up in STRAVA a number of times as 9,997m. There is no GPS involved, it's just poor conversion on STRAVA's part.
I don't think that explanation is true. Unless distance correction is applied (and it isn't applied for any activities uploaded as FIT files) Strava just takes whatever the distance was in the device FIT file. If it was truly a GPS issue, the difference would vary but it is actually always 0.01 mile no matter the distance, which tells me it is some sort of silly data conversion or rounding bug in Strava code.
I went back through my runs from the last month or so, and you're absolutely right - when the distance is off, STRAVA is always .01 shorter than what's shown on the recording device (currently using a Garmin FENIX 7XSS). Out of 23 GPS-recorded runs in the last month, 12 were short by exactly .01 miles on STRAVA compared to Garmin. I also went back and reviewed the tracks to look for any "jitter" and found nothing which would've warranted correction on STRAVA's part.