There should be a system in place that encourages players to participate, rather than just punishing them for not participating (kicking). In other words, give them loot for helping, but none for AFK'ing. I believe this is called Positive Reinforcement in psychology. It's been proven more effective when seeking increased productivity, than negative reinforcement.
A scenario of positive reinforcement would go like this: Player joins a public ship, shoots one ship, goes AFK until they port. He gets credit for one cargo crate and receives 5 gold. He says, "Man, I need more gold. Next time, I will shoot more ships." It gives him a sense of worth.
Negative reinforcement is harsher and yields worse results. It would go like this: Player joins a ship, shoots multiple ships and goes AFK. He comes back to the game and notices he's been booted. He did not get credit for any loot at all, because his captain thought he wasn't helping. He does not feel encouraged to do better next time, but rather discouraged.
I remember at one point in POTCO you had to hit a ship at least once to receive loot for it, which is how it should be in my opinion. In TLOPO, any random can board a ship, insta-afk, and receive the full load of loot whether or not he helped the crew. Yes, it is a huge problem, but no, we should not give Captains the godly power to kick anyone from their ships at will. That would undoubtedly lead to bigger issues and lots of drama.