I have suggested this right from day 1. Not as detailed a suggestion as Ketzerfreund's though, but basically Frontier let people who want to design paint jobs use a template they can import into an image editor, the finished design then be submitted to Frontier for approval (so it meets any legal and non-offensive criteria) and Frontier then convert it to work in-game.
The detail of my pitch seems egregious at first glance, but, you know, I tend to put the "How" right up there with the "If" and "Why".

Such a pitch certainly helps this forum section fulfill its purpose better than the usual grinchy and unreflected "NO!", spouted after reading the very first line of a suggestion, as happens far too often around these parts of the ED forum, in my opinion.
Anyway, as you say, you suggested this early, and I noticed a while ago that you're not the only one, hence me deliberating over the "How" for a couple of days now.
By the way, I don't think it'd be necessary to submit each skin for approval - there is a "report player" function right in the game, and no other potential offense in the game can be processed quicker than an item you can just look at.

In case that there'd be a "first step of implementation" that only allows the user of a custom skin to actually see it, as my deliberately quite basic pitch suggests, the look of a custom skin matters to noone but its user.
But as I stated before, there are several potential ways of making custom skins a universal graphical item, as you suggest, such as allowing players some freedom in the naming of their texture images to make them unique identifiers, so that whoever else has the same files on their harddisks under the same name will see these skins in use. That's the way Rise of Flight does it, which I alluded to in the premise of my pitch by linking to the download lists for community-created plane skins.
The upside of the way Rise of Flight manages this is that the use of each community skin is completely optional! This invalidates a lot of potential worries skeptics against this idea might bring up.