Honestly, the best thing you can do to help him grow is switch to rats. Mice are extremely lean, so for example, a 20 gram mouse is not at all equivalent (nutritionally) to a 20 gram rat. My hatchlings are usually fed pinkie rats as their first meal, and as long as your ball python is over 100 grams (which he easily appears to be) he should at least eat fuzzies. Above 150 and he could probably eat rat pups.
The 15% "rule" is problematic because it doesn't take into account what you're using (20 g mouse =/= 20 gram rat) nor does it take into account the way that the "percent" should change throughout the snake's life or how the frequency changes. In reality, babies are fed around 18% of their body weight in rats once a week, while a full grown adult will eat closer to 5-10% once every two weeks. I have a 4000 gram female that certainly does NOT need to eat 10% of her body weight... That would be a "jumbo" rat. Medium and an occasional large rat are more than enough to keep her plump and happy. Males and females will also often be fed at different rates after reaching a certain size.
Also, the thickest part off the snake's body should similar in diameter to the thickest part of the rat's body. Many people drastically underestimate the size that their snake should be eating and it leads to very stagnant growth rates.
TL;DR - Mice are like diet food for ball pythons. They'll keep him alive, but rats will actually help him grow and gain weight.