Unfortunately, there is no perfect host.
BackupBuddy has no size or speed limits set into it, but it has to run in accordance with the server's configurations. If the server is slow or bad then, naturally, a site may have a harder time getting a complete backup. The bigger the site, the harder it will be; it's just how servers work with max PHP runtimes.
There aren't even any hosts that are the "worst." What host is best for your site varies for each person. Some sites won't have much issue with a certain host while other sites could run into issues. Though in many cases with hosts, you get what you pay for: cheap hosting tends to be cheap on quality and shared hosting is often overloaded. For some sites that could be fine, for others they (the site itself) should have something a bit higher quality.
It all comes down to the server configurations such as max_execution_time (max PHP runtime as a whole) and speed of the server (often hurt by a shared hosting being overloaded).
See BackupBuddy Server Configuration for some tips on server configuration.