While the ships for each pirate promotion ARE defined, they are deliberately not used because, as you say, it doesn't make sense.
You do get the occasional sword and unlock some abilities on pirate promotions though.
I think you can increase the chance of them happening with this line in PROGRAM\NK.c:
Code:
void InitOpenSeaMod()
{
ref PChar = GetMainCharacter();
if(iRealismMode>1 || OPEN_SEA_MOD)
{
DIRECTENCOUNTERCHANCE = 25; // chance in percent that an encounter fleet appears every hour
DIRECTENCOUNTERDISTANCE = 2250; // distance from player at which random ships appear
ENCOUNTERBREAK = 3.0; // LDH - Changed to float, number is hours per encounter, directsail is called every 5 minutes occasionally
Try setting ENCOUNTERBREAK to 6.0; if I recall correctly, that should give you double the amount of "Sail Ho!" encounters.
Ship encounters are really quite random. There is no logic to what type of ships appear where.
While you CAN encounter lots of huge ships, that particular encounter has a very low chance of happening.
After all, this IS the Caribbean and there generally just weren't all that many ships around.