Ball pythons are naturally headshy, it's not really something that goes away. He's also a baby and they are more defensive and jumpy, so that may be why he's getting startled even when you move slowly. When he gets older and bigger, hell be more confident and won't startle as much.

Don't put him back right away when he flinches back/startles, let him calm down and handle him more. This will show him that you aren't going to hurt him and if you just put him back everytime he flinches he's going to think 'ok if i do this I'll get left alone'.

How long do you have him out for ??