That would be a great idea! While I do agree with what you are saying, they would have to make at least two types of the same phone due to the fact that carriers use different technologies. That would drive up the price. AT&T and T-Mobile use GSM which requires the use of a SIM card, while Verizon and Sprint use CDMA. They do not use a SIM card.
Carriers don't make a large percentage profit on the equipment. They make their profit on the service. They are the mercy of the phone manufactures to determine the prices. The only reason they are able to offer free or discounted phones is because U.S. consumers are agreeing to pay the carrier for 2 years. Otherwise they would HAVE to charge full price for the phone. If you upgraded your phone within the contract terms, the carrier cant offer a greatly discounted phone because you haven't fulfilled the terms from the last contract. It all boils down to the 'gimmie free' mentality of U.S. consumers. They want it free and they don't want to sign a contract. If we all had to pay full price for the phone and not sign a contract, this conversation would never happen. They would not blame the Telco's, but put the blame where it truly belongs; the phone manufactures.