Using mostly tapirik: https://tapiriik.com . It costs 2 dollars a year to have it auto-sync, or free if you do it manually whenever you remember. It will sync pretty much everything from a date you supply (or a default date of around 1868).
Garmin as master (mostly), syncs to Strava, runkeeper, and dropbox.
Have set dropbox as listener only. It gets tcx files from garmin or strava depending where the activity is recorded. This is dropboxed to my hard disk and forms my “oh crap, x service has died/borked/gone forever and I need to export everything. in theory I already have it all.
Have set runkeeper as listener only. It gets updated from garmin or strava depending where the activity is recorded.
FitBit is an arse. It is (deliberately IMHO) made hard to get out of and, frankly, to get into as well. I use it for tracking my weight and for various family members on it.
Strava – have linked to FitBit through Strava’s integration.
Runkeeper – have linked to FitBit through Strava’s integration.
Currently Garmin can’t get my weight, etc from FitBit. I suspect if I link Garmin using the official apis to/from either Strava or runkeeper it might update the weight.
1. let runkeeper get back populated by tapirik.
2. unlink runkeeper from tapirik and link using offical APIs to Garmin Connect. See if a: the data that gets sync’ed off a run is as good/better than tapirik; b: if teh weight data is pushing into Garmin from FitBit via RunKeeper.