I personally think that creating laws to prevent government surveillance is a pointless endeavor. The NSA has ignored and broken laws in the past, why would we expect them to follow new ones that are passed? The only way to prevent surveillance is with a technical solution (encryption), not a legal solution (more laws).
Always-on end to end crypto is an extremely difficult problem, and whoever solves it is going to win a gigantic market.
The problem is that your backend servers can no longer operate on that data in any meaningful way. For this reason, full end-to-end encryption is likely not realistic for certain applications.
Simpler applications, like iMessage, can and do implement end-to-end encryption without much difficulty at all.