Suggestions for failover/data-rate limiting

There's a lot of 'it depends' here.
- what are the loads of the links in a steady-state?

Peer A typically runs at 80 Mbps.

Peer B typically runs at 15 Mbps.

Peer C (Internet2) typically runs at 15 Mbps, but frequently spikes to
60 Mbps for extended periods of time.

- how do you rate limit the 2nd link?

The upstream currently has a rate limit (and so do we, just in case
the provider fat-fingers something in a config), but we want to move
away from that, since that would entail manual intervention.

- how are you balancing load among the three links?

We aren't. I created the current route maps based on what they wanted
(from a financial viewpoint). Based on those financial
considerations, we will not load balance, at least not with the three
providers we are currently using (and there are no plans to change
providers in the near future).

I expect your answer will be in removing any rate limiting
configuration, and setting up some local-prefs on AS's to balance
traffic. Then your expensive 2nd link will take load (and incur
cost) upon failure of link 1.

We currently have local prefs in place. They work fine, but we still
have the data-rate problem: as long as we make the call to Peer B (or
I can get to a computer fast enough to ssh into a router and drop the
rate limits), no one complains

Management is terrified of getting a huge bill from Peer B, so the
rate limits (on both sides) will stay in place until we can find an
"automated" solution. I gave up fighting that battle long ago....