Garmin Connect requires that all uploaded data files have timestamps in them. A route just has position data, so it won't be accepted. The solution is to use a tool to insert bogus timestamps (which makes it appear as if it were an activity), upload that, save it as a course, then delete the bogus activity.