A few thoughts, the ships usually sail full. They will cut the price up to the last minute if they need to. They also will let Travel Agents be on Stand By to go dirt cheap if the ship is not full. That being said, there are a few ways I know of to go about it. If you are using a travel agent, ask them about 8-9 days before the sail date to request an upgrade for you. If you booked directly with Carnival call them during that same period and ask whom to speak with to make your request. If you booked on a guarantee and did not have a cabin assignment there is a good chance you will be upgraded anyway, at least deckwise. It is harder to be upgraded between categories ie from interior to exterior, but it does happen. But the ship is pretty much "birthed" meaning cabins assigned and sold on the sail day. And they don't charge for upgrades was part of your question. If you don't pay in full when you book and before your final payment date Carnival will adjust your fare if the price decreases also, so you might can book a higher category at same price. One other thing I do but I am a bit reluctant to disclose, as I don't want more competition..but what the heck.
I immediately go to the Purser desk and ask to be put on "The List" this is a non-official thing they do and keep sort of secret, if by the first port of call there are no shows for a higher category cabin..the people on the list get it. It worked for me on the Destiny during the same week you are going several years ago. It has only worked once since, but I usually type a nice note to the Head Purser and give to them when I make the request, and almost always if they can't accomodate me the Purser sends a nice note back to my cabin and sometimes a bottle of wine

So it never hurts to ask I found out. I hope some Travel Agent board members will weigh in on this with some of their updated knowledge and suggestions.
Best to all,
IslandCruz