Anyone who has tried to export a tcx file from Fitbit and subsequently import into Garmin Connect has probably experienced the "An error occurred with your upload. Please try again." error.
For example: https://forums.garmin.com/apps-software/mobile-apps-web/f/garmin-connect-web/125065/error-uploading-tcx-from-fitbit
I've found that you can get it to import successfully if you make the following changes to the .tcx file (which can be opened in a text editor)...
1. The first line will look something like this...<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
Remove the standalone="yes" part so it looks like this...<?xml version="1.0" encoding="UTF-8"?>
2. The end of the file will look something like this...</Trackpoint>
</Track>
</Lap>
<Creator xsi:type="Device_t" xmlns:xsi="www.w3.org/.../XMLSchema-instance">
<Name>Fitbit Charge 2</Name>
<UnitId>0</UnitId>
<ProductID>0</ProductID>
</Creator>
</Activity>
</Activities>
</TrainingCenterDatabase>
Remove the following section of the above block...<Creator xsi:type="Device_t" xmlns:xsi="www.w3.org/.../XMLSchema-instance">
<Name>Fitbit Charge 2</Name>
<UnitId>0</UnitId>
<ProductID>0</ProductID>
</Creator>
It should now look like this...</Trackpoint>
</Track>
</Lap>
</Activity>
</Activities>
</TrainingCenterDatabase>
If you make these two simple changes, the file should import just fine.
Unfortunately, the total calories burned value gets lost in the import... so you'll have to add that manually. I couldn't figure out how to fix that.