It's entirely possible that they may eventually substitute another port. We had a port cancelled once (Caribbean cruise) due to a hurricane that passed through about 6 weeks prior to the cruise. We were told that we were going to go to the Bahamas instead, and then when we checked in on embarkation day, they told us that we were going to Costa Maya instead. It takes some time to find a berth when a port is cancelled, and May is a fair bit of time away, so you may be lucky.
There is no compensation for a skipped port other than a refund of port fees if there's no other port added. As per the cruise contract, they make no guarantees about any port for any reason. If you are given any stateroom credit or future cruise credit, it's entirely up to their goodwill and no obligation on their part. Normally, they will just add more activities for a day at sea.