Garmin Edge devices use strange formats where the speed and distance data are recorded in additional fields. If they haven't reset or been reset correctly you can have discrepancies. If the track shows X and the claimed distance shows Y then you have to take the track. It's not a problem with Strava but with a buggy GPS IMO. If he doesn't have a backup GPS then he should sort one out.
I don't know if this is strictly relevant but I had a discrepancy between Garmin Connect and Strava on the Wye Wednesday a couple of weeks ago. And I know exactly what caused it...
At the start of the ride, I tried to load the course into my Edge 510. After several minutes of waiting, I just pressed the start button and set off riding but eventually (after 28km) I realised that the course was never going to load, so I reset the device, continuing without the course.
Now, the clever thing about the 510 is that you can turn it off while recording and it will resume recording when you turn it on again. So Garmin Connect did record those first 28km as part of the course. However, it didn't show my GPS track for those 28km.
I've set Garmin to auto upload rides to Strava, but when I looked at the ride on Strava, it showed the same track as on Garmin Connect but 28km less overall distance.
(As an aside, I suspect the problem with the course file was that it was too large - I'd made it at Ridewithgps.com and exported the correct tcx file format as I have successfully done before, and I have no idea why it was over 2MB, but there you go.)