1) Security agencies are much more effective if they collect data before they know it's important. If they wait until Jane Doe blows up a building to start collecting intelligence on her, much of the evidence and other valuable information will be long gone.
2) Spying on innocent people violates their privacy, their legal rights, and is a tool for oppression. Warrants are required for a good reason.
One somewhat obvious solution is to store the data in escrow, available only with a warrant. Nobody would trust a private company with all that data (I hope, though I some countries require ISPs and other service providers to maintain some history), so who can we trust? I wonder if the courts are an answer. On one hand, it is not their role to provide investigative tools to the prosecution and could even violate their independence and neutrality. On the other, there would be little question about whether law enforcement had a valid warrant or whether the courts would respect by their own authority to issue warrants (and on the third hand, rather than the courts cleaning up the corruption, the corruption could spread to the courts too).
Does anyone know if there's a precedent?