I refactored the code to use a 3rd-party to get tracking data instead of using my own adapter code. This way it supports way more carriers (20+) and it's less integration code to write and support.
This change forced me to adjust the pricing model a bit. Since I now have costs associated to each shipment, I modified the fees to be usage-based (for larger merchants).
Started trialing the new code-base today, and will see if it works well. Fingers crossed.