We've been on 30 cruises, and have had one upgrade. It was on Princess.
There's no magic formula for getting an upgrade, although being at the top level in a cruise line's loyalty program would certainly help. I couldn't countl on an upgrade at check-in, especially at a discount. If you want a balcony, you would be better off to snag it now, and not hope for an appearance by the upgrade fairy.