Currently, the only way you can set an axis' range padding is by specifying a padding size. Like you said, you can calculate the percentage of the data range and set the range padding manually youself, which is what I would recommend. As for getting the change in properties to take effect, you should only need to do [myChart redrawChart] to see the changes in padding take effect (unless you are also changing your data ofcourse!). A chart redraw is extremely quick, infact, the chart redraws multiple times every time you pan or zoom.
I have forwarded your suggestion of being able to set the padding by a percentage to our development team. They will review it and make decision as to whether it will be included in any future releases.