Getting random rewards justfor attacking people isn't a good idea. It's too easy to abuse and encourages spawn camping and griefing. Plus it goes against the whole concept of actually being thieves and not just killers. This isn't supposed to be just another first person kill-a-thon where you just attack everything that moves.
But it's also problematic not knowing what ships have loot since that encourages the exact same kind of behavior. PvP is as bad as it is because there's no way to know when a ship has something of value, so the only way to effectively be pirates is to hunt down everyone. Pirates had a tendency to target merchant ships bringing goods back to the colonial powers in Europe, though. They had some idea what targets would be lucrative and didn't just attack randomly.
I still say there should be a visual cue that tells you when an attack won't get you anything. Raise a jolly roger when a ship has no loot. Drop it as soon as someone sets footon the ship with a chest, skull, filled crate or any other item that can be turned in for money. The only things that reset the flag are if the items are lost (ie removed from the game by selling or other means), brought onto another ship (ownership is transferred to the new ship, other people can still steal it and sell for their own crews without bringing it to their ships first, though), or if the ship is sunk and has to respawn. This would at least cut back on random attacks and make ship-to-ship combat feel a little more meaningful. You still don't know what exactly they have, so it could still be a small payoff, but at least you'll know there's something.
In piracy, the risk really should be the burden of the one being attacked. You're pushing your luck not going to an outpost, so you should be an open target and you should have to keep an eye on the horizon.