I don't see the subsidy thing happening. The current iphone sold like crazy with no subsidies so why cut your profits? The new iphone will most likely have increased security against unlocking so ATT won't lose so much money from people who pay Apple for the iphone but them pay another carrier to use it. That is the root of the problem. If they don't solve that, then people will continue still continue to buy the iphone at full price from Apple and not activate with ATT.
A subsidy would negate the unlocking problem. They could tie a $200 subsidy to a contract that costs $200 to terminate early. Customers staying with AT&T for two years are happy, and unlockers going to another carrier pay $200 more upfront or $200 later if they terminate early. Even with prorated termination fees, AT&T is happy both ways.