This isn't really rocket science. The carriers are going to promote phones that they make money on, not ones that they lose money on.
Both AT&T and Verizon had record losses (multi billions of dollars) last quarter primarily due to iPhone sales.
Apple makes AT&T and Verizon pay them more money for iPhones than they can sell them for.
AT&T and Verizon can survive these losses because they make the money back on the contract.
Contracts cost the same for Android and Apple users.
So if you own a store and your options are:
A) Make a lot of money on your product + Make some money on the 'delivery' product
B) Make a lot of money on your product + lose a little money on the 'delivery' product
C) Make a lot of money on your product + lose a lot of money on the 'delivery' product
Which of the above options do you promote?
On a 2 year contract a carrier may make @$2000 on their network service, so they are willing to take that $300+ dollar loss selling you an iPhone if that is the only way they are going to get you on a contract. They would far rather make $2000 for their network AND make another $100 (or break even) selling you another brand.
Its also why AT&T always gets mixed reactions on news and has a much lower p/e than their competitors. They have the highest iPhone percentage. The more phones they sell in a quarter, the higher their losses are relative to the competition.
If Apple structured things so the carriers made more money selling iPhones than Android phones- you betcha the carriers would be marketing the iPhone more prominently than the phones that make them less money.