It is quicker than it use to be in some instances. I recently found out that CCL sometimes makes assignments early depending on a number of factors. But as Neil said, there is no way to know untill they do it.
In the not so long ago days, they did not even start "berthing" the ship until about 10 days before. It is much earlier now.
Some folks have mentioned to keep checking carnival.com, others have said to try to order something for your cabin through the site and see what comes up. I would just call every couple of weeks when you get to 2 months out.
Dang, I miss the old days when you could book "run of the ship" and call or fax a cabin request in to the "Ship Coordinator" and they would do it if they could. Good luck and hope you get a great upgrade.
Smooth Seas and Calm Winds,