Your advice works well for freelancers, because they do not have the resources to scale their services. But as the owner of a small agency, it quickly becomes in your interest to either host yourself or find a local data center to partner with for hosting. There are a few reasons for this, some of which have been addressed already in the comments.

1. Clients don’t usually care.
They just want to see their site/app on the web and working. They don’t know and aren’t interested in learning the difference between support and hosting. There is a lot of finger pointing between developer and host if something goes wrong. If you host, the buck stops with you.

2. Relationships
It is in your financial interest to maintain ongoing relationships with your clients. Even if you don’t make much money on hosting, you are supporting that client indefinitely. Any change or update is profitable because it is billable maintenance.

Keep in mind that you can and should bill your time for support situations. A client can quickly be educated to understand that paying for hosting is only renting space on a server. Any design/maintenance/content/security updates is acceptable as billable work.