So one of my players and I got to talking about how you might design an ability where the FP cost were variable depending on how well you rolled to activate it. This got me to thinking – how the heck could I do something like this? I eventually came up with a conclusion that wasn’t uber clunky and thought I’d share.
To do what is needed you’ll want the following three modifiers:
- Reduced Fatigue Cost (+20%/level) (p. B108)
- Limited by Margin (varies) (Pyramid #3/9: Space Opera, p. 16)
- Optionally, Costs Fatigue and/or Requires (Attribute) Roll for traits that lack those two things (p. B111 and GURPS Powers, p. 112)
Now, with a bit of mathamagic you just combine these modifiers in a workable way to get the result you wish. First, if the ability doesn’t have a activation roll and it’s meant to be an active ability add Requires (Attribute) Roll. If it doesn’t require FP to use add whatever level of desired amount you wish with Costs Fatigue – I wouldn’t go over 10. Next, add Reduced Fatigue Cost modified by whatever level of Limited by Margin you wish. Do note that this can increase the cost of abilities that do note natively require FP.
A few examples:
Burning Innate Attack 4d (Costs Fatigue, 2 FP, -10%; Reduced Fatigue Cost 2 (Limited by Margin, Full-power at 2+, -10%), +36%) 
Healing (Reduced Fatigue Cost 10 (Limited by Margin, Full-power at 10+, -50%), +100%) 
Picking Over the Bones
The idea is sound, but due to some oddness with Costs Fatigue you can get an ability that is worth more character points than not having it. I think one way may be to simply treat “Reduced Fatigue Cost” as worth +5% when combined with “Costs Fatigue.” That seems sooooo much fairer to me. In that case, that innate attack might look like this:
Burning Innate Attack 4d (Costs Fatigue, 2 FP, -10%; Reduced Fatigue Cost 2 (Limited by Margin, Full-power at 2+, -10%), +9%) 
I think that is much fairer in price even though it amounts to what is effectively a feature for the ability.
What do you think? Silly? Stupid? Did I go to far? Not far enough?