The most reliable way of getting upgraded for free is to have elite status on the airline you're flying. Most airlines reward their most frequent flyers with complimentary upgrades on domestic routes.