The only way to fix the problem would be to fix the country where most of them are coming from. Somalia is the problem but I don't have an answer on how to fix it.
Q-ships seems like a good idea, but could lead to an escalation of the problem. If ships start carrying guns then the pirates will simply bring bigger ones. Perhaps even just opening fire on vessels and inflecting heavy damage to them and inevitably lead to an increase in the loss of lives.
Escorting vessels through the area with warships seems like a good idea for a deterrent but who is going to cover the costs?
O.k. serious thoughts aside, how about some less serious ideas?
Put a huge reward for the capture of pirates and fill the sea with gun crazy mercs and let them all fight it out for a while.
Impose a world navy blockade on the coast of Somalia so that if any boat leaves the sure it is staring down massive aircraft carriers and escort fleets.
Better still get all the big Battleships that are mothballed (or not) in America, crew them, arm them and have those patrol the waters.
Surely Captain Nemo and the Nautilus could be a solution?
Legalise Piracy and impose huge taxes on them so they can't afford to do it anymore?
More contraversally send them Gordan Brown to run their organisation and finances and they will be broke in a few years and (too far?)..