It would be helpful in minimizing the number of calls per customer order if the '/shipments/getrates' API method supported accepting multiple carrier codes (for example, as a comma separated list), or even a special value to return all carriers (for example, '*'). I am building an application that is attempting to find the minimum shipping cost, and if you want to find all FedEx, UPS, and USPS options for each order, it requires 3 API calls. This basically reduces the orders / minute that can be handled by a factor of 3, for an ordinary account from 40 to about 13. This is assuming you can guess which package is going to be the cheapest. If you need to check two or three packaging options, that expands a customer to require possibly upwards of 10 API calls.
Building the API in a smart way like this makes it feasible for a script to engage in shipping optimization (with some built in bin packing logic).