You need to try one of the places that limits the number of guests. I can't recall the name, but there is one place that has a maximum of 100 people that is part of a hotel.
Also, look at the port times for those ships. Oftentimes they all aren't there for the same amount of time, or some arrive later than others.
Another choice? Try going to the eastern side of Cozumel which is not part of the beaten path for cruisers.