If you're using windows, a possible (though relatively inconvenient to use) approach would be to use an ActiveX control.
Microsoft's flat scrollbar, for example, has settings for how much it changes when you click an empty space and how much when you click the button.
The main disadvantage to this is that to use it, you will need to use a property node each time you want to read the scrollbar's value (and that it's windows specific).
___________________
Try to take over the world!