Ball Pythons are rarely truly aggressive. They strike out in defense because they are scared, not because they're 'un-tame'.
Reasons for striking:
1) It's a baby - It's not uncommon for babies strike because this is a vulnerable time for them. They're scared and a big predator (your hand) is swooping down on them. They will outgrow this as they get larger. Learn to scoop them up from behind/side/below them rather than above.
or
2) your husbandry is off and the snake feels insecure. (<--- most common reason for an insecure nippy ball python)
or
3) you smell like food/they're hungry