For the sites with lower number of clients (e.g. < 50) you could use Branch Distribution Points, and configure BITS throttling for Branch DPs through the SCCM client properties. We've succesfully tested Branch DPs in sites with 80 users with no problems. For all other sites, I would use Secondary Sites, as the Senders give you complete control of the use of bandwidth. The important thing to remember about throttling with LAN Senders in SCCM is that the %Bandwidth usage is dynamic, which means that if you specify a maximum of 50% of available bandwidth, then SCCM will continually attempt to estimate traffic on the link and adjust the distribution to match 50% of what it percieves to be the available bandwidth .. it's really quite good at doing it.
With Branch DP's and BITS, you can only have two throttling windows ... off peak and on peak, and a set maximum throughput for each of those throttling windows. If this isn't acceptable then you would need to use Secondary Sites for those smaller sites aswell.