I use an alphanumeric naming system. I redesign my ships for every game and just overwrite the previous version as necessary. Since every game is different, I want to always have the ship that is best for my circumstances.
My ship names look like this: "DH9 Komodo"
The DH signifies "drathi", I use similar abbreviations for other races. The "9" is the speed. I usually only upgrade when I have faster engines available, so this is also a good way to keep track of how advanced the ship is. The name is made up as a race-speciic identifier (reptiles for Drath, insects for Thalan, etc.).
If I have a "mid-model" upgrade I might add a '+" after the initial code, like "DH9+ Komodo" or something. Also, if I am using more than one kind of weapon, I sometimes add a letter at the end to signify that. So if I had a gun version and a missle version of the DH9+ for example, they could be" DH9G+ Komodo" and DH9M+ Komodo".
Sometimes if the ship is a long-range one (with life support, for example) I might add an "L":
"DH13L Constructor" would be a Drathi constructor, speed 13, with extended range, for example.
The names are just for fun, but with the codes it is easy to tell what kind of ship it is at a glance.