Which if these will provide the best data? Are there other issues that distinguish them — such as accuracy or file size — that I should consider?
TCX and FIT are designed for fitness activities, so they can contain more fitness data than GPX.
eg TCX or FIT supports laps (splits). So your device could record a new lap whenever you press the lap button, or automatically after a set distance, eg every 1km. Also they support pauses, if you want to stop the activity at one point, then start again later. Whereas GPX is essentially just a series of points (with timestamps).
I am not sure whether Strava actually uses the laps or pauses recorded on the device, I suspect it will recalculate them anyway, based on the GPS points and time.
As standard, GPX does not support heart rate, cadence or power data. But this can be added with extensions. The most popular format for these extension was created by Garmin, it is also supported by a variety of other software/websites (including Strava). But some devices might record heart rate/cadence in a different format in the GPX file.
TCX or FIT can also contain summary data, for the whole activity. eg the total time, distance, calories, device used, type of sport. Some of this is used by Strava, eg to display the device, or automatically select the activity type.
TCX and GPX are both XML formats, which can be fairly inefficient in terms of file size. But this does mean they can be easily edited, eg in a text editor. FIT is a binary format, so is much smaller file size, typically about 1/10 of the size. File size is usually not a problem anyway - even if you are recording at 1 point per second, a 3 hour activity would be about 1MB in GPX format. So not really an issue, unless your device has very limited memory, or a slow internet connection for uploading.
So in general, you probably won't notice much difference between formats for uploading to Strava. Though TCX or FIT may give you a bit more data. And FIT would be a smaller file size.