Ok zombie hunters, I'm going to start with a realistic approach: Pete F, I like your thinking... A predator drone would be rad, but perhaps prohibitively expensive... at least for now. Sensor lights are a no brainer! They should definitely be installed all over.
I'd imagine these cruise ships have at least one emergency rescue vessel for any shrimp cocktail stuffed drunken slob who happens to fall into the sea. This emergency vessel could be upgraded a bit into a patrol boat of sorts. With a powerful motor, some modest armor, and some small arms, this boat could manuever into a flanking position and force the pirate vessels to at least rethink their plan. If the emergency vessel is stowed descreetly, you could arm it with a mounted... say... .50 cal machine gun (or mg42 muhahaha). But lets be honest... you'd have a darn hard time sinking a regular fishing boat with a .50 cal before they reached your ship. Its like stopping a home invasion with a 22... they will die... eventually. But maybe you can scare them off before they board the cruise ship.
If the pirates position themselves right next to the cruise ship, it will be more difficult for the emergency boat to open fire. Hopefully by that time the pirates would be under fire from the cruise ship itself.
Two or three emergency boats would be exponentially more effective. While additional emergency craft may add to the expense, these boats would be incredibly useful in many other emergency situations besides piracy.
I think that firehoses are a great idea, because they are already there and they aren't going to run out of ammo. You can literally hose em down. You might as well use these while other crew members are opening fire. Hoses may well be more effective at sinking an open top vessel than a few rifles.... but would be even more effective if used in tandem with a team of shooters.
Aside from that, they should install some subtle armor plating at key points around the deck. Crew members could man these points in an emergency, while the guests wouldn't notice.
Some more fanciful ideas...
Explosive laden trained dolphins or seals could put a serious hurt on the pirates. Don't worry, I AM a serious evironmentalist... I can make jokes about that. They'd just swim up and place the explosives and then run away... or maybe just swim up and go boom! Plus you get the value added "Sea World" seal petting zoo experience for the kids while the "navy seals" are waiting for their commando mission. Ok, that's just mean... even if the military does it. Nix that idea. Plus, trained animals are probably prohibitively expensive.
Turn the cruise liner into an aircraft carrier! Get 20 or 30 on the cheap UAVs and mount stick grenades or 20 lb bombs on them. Have at least a few of them on patrol 24/ 7. While your at it, have several remote control boats laden with c4 on the patrol. Wait till the pirates attack, then swarm em until they are sunk, sunk, and sunk.
Unfortunately, if you start using some of my wierder tactics, its only a matter of time till the pirates start copying them.
Allright, thats enough for now.... I've got a few more hair brained schemes tho! But i'm not going to HIJACK (muhahahah) this thread.