Just some ideas from afar:
In Colombia, Avianca have what I consider to be a really good system for upgrades. It balances revenue / quality product / customer loyalty.
Avianca status pax (via the Lifemiles FF program) get automatic space-available upgrades IF their fare class qualifies. Domestic economy fares are sold in 4 types - essentially super saver and saver fares, and restricted and flexible fares. The first two are NOT eligible for upgrades, the second two are.
To give an idea on pricing, the respective fares could cost $50, $100, $150, and $200. (The cheapest restricted J fare would be about $250 on that scale, $500 for a flex J.) So if you score an el-cheapo $50 ticket, you wont get an upgrade, but if you buy the more expensive ones, you probably will unless the flight is full in J. Load factors in J would run at about 60-70% averaged (in my experience). I love this system. If you just want a cheap ticket, you can get that, but if you want a bloody good chance at flying J for reduced cost, you can wrangle that. Because I enjoy flying as a hobby and take the time to check load factors when selecting flights, I have about a 95% success rate at upgrades. But sometimes I just fly down the back for $50 and choose the exit row