Call the cruise line. They have the ability to wheel and deal on last minute cruises. Once on a b2b, I called during the first b and got a much better deal on an upgrade than I would have anywhere else.
Sometimes cabins are out of service (e.g. being renovated), The cruise line might open something up - you never know.