I love the Size-Speed/Range table in GURPS. It’s a logarithmic progression where every six steps is a factor of ten in magnitude.
Every time I used to look at a scaling issue, I’d try and work it, and work it, and work it . . . and in the end, I’d realize that the answer was within me all along, like the answer to the question “Who is the master?” from The Last Dragon. (Come on, you saw it too: “…there is one place that you have not looked and it is there, only there that you shall find the master!”)
The Last Gasp? I struggled to find the right progression for how long-term fatigue recovered. The best mathematical solution I found was to use the progression for the SSR table so that each FP recovered at basically 1.5x slower than the FP before. Every single FP accumulated was worse than the last.
Steven (Marsh) came up with the suggestion that it was too complicated as-is (true), and that levels of fatigue, rather than a continuous progression, would be more playable (also true). But mathematically, boy was the SSR-based table pretty.
You can also do some really fun work extending the Size table when it comes to shooting things at large and small creatures and objects. David Pulver did something like this in his Eidetic Memory column on Extreme Damage. Personally, I’d use the Size-Speed Range table for both size modifier and bullet sizes, and just let them interact naturally. I have a SJG Forum post on this somewhere; I’ll have to search for it, but I did this, and it worked well enough. Both are good solutions to the same problem: Age of Sail warships didn’t exactly disintegrate after receiving one broadside (they can do so in GURPS), and some creatures are large enough that firing lots of low-power bullets at them will just piss ’em off, and do very little real damage.
Anyway, wherever you encounter a scaling issue, be it weapons, powers, etc., the table provided at the core of GURPS is a great place to start.