Well, budgets are an issue in itself. That’s why more smart people proposed an alternative: it’s called Beyond Budgeting. And No Estimates & Beyond Budgeting do wonder together!
As for the Agency land, many agencies successfully changed their business to a more Agile way of doing by signing different kind of contracts with their customers, contracts that allow to fully leverage the power of Agile, bringing both peace of mind on the agency’s side as well as better & cheaper product for the customer, as focus will be on maximising value as early as possible. In the end, for an agency, it all boils down to choosing your customers. Don’t accept a contract that will not allow you to work the way you want.