I was reading this and a thought occurred to me...
Perhaps ship experience should be removed altogether and instead a single overall "Naval Experience" that applies to the whole empire. So essentially, any ship new or old can gain XP for the entire navy, which in turn gives some very slight advantage to the whole navy.
This removes the issue of XP falling onto one outmoded vessel. I also like it, as it effectively represents institutional knowledge accumulating, and the fact that crews change, people get transferred, etc. etc.
A defeat could even subtract a portion of XP, thus a player who manages to win all his battles might have some extremely nice veterancy bonuses, but if you are only winning (or losing) wars through attrition with numerous defeats, you are not going to have any veterancy bonuses.
This could be taken a whole level/step further, and have the Naval Experience literally have it's own series of mutually exclusive perks that are unlocked at certain levels/etc. So you could therefore use XP to say... choose between "Seasoned Warriors" and a combat bonus, or "Experienced Explorers" which brings a range bonus. Etc.
Just some food for thought.