Not being a programmer, I can't help directly, but I also did not want your post to go completely unanswered.
Do you understand what deadband is? That's important.
As it is now, any input from the joystick produces a linearly-same output to the motor. That is, a 20% input produces a 20% output, 50% in=50% out.
Basically, to address your sensitivity issue, you change this "mapping" between input and output. For example:
Code:
In % Orig. Out% "New" out %
0 0 0
10 10 5
20 20 10
30 30 15
40 40 25
50 50 40
75 75 70
100 100 100
The "Orig Out %" is what you might have now, the "New out %" is re-mapped to provide more sensitivity at low throttle settings, while retaining full throttle where it is. Drivers cannot tell the difference (easily) between 50, 75 and 100%, but they sure can tell 10 from 20%
Just some food for thought.