One interesting way to solve the problem would be to allow differenct mutually hostile entities to define their own standards (US, Russia, China, FSF, Pirate Bay, whoever) and then encrypt using all of them.
That way, even if there is backdoor in each protocol, the only way to decrypt would be all those disparate players to cooperate. It would be like a vault with multiple keys possesed by different people.