Okay, my first piece of advice is that you be wary of sniper advice. A lot of the advice that people give helps in the immediate, but will cripple you if you rely on it too much. The "aim for head level and strafe," for example, works when you're on about the same level as your targets, but if you need to get a headshot
fast or you're at a different elevation or you're near a wall, you will quickly learn that the advice has made it difficult for you to land headshots.
As for the second, Zeigon made a video about practicing Ambassador headshots, and I feel that it can apply to sniper as well.
I do it a bit differently for Sniper, though. I pick a random spot on the map and sit there, trying to get headshots. I would recommend that you make the bots more difficult to hit as you progress (increase bot speed, have them jump, etc), but a good starting point is to have them constantly strafe. I also go for 50 headshots because I do other class practice, too (spy stair stabs, amby headshots, huntsman headshots, market gardens, and soldier reserve shooter practice).
As Zeigon says, don't just wait for them to walk into your crosshairs. Actually try to line up the shot with their head. The less damage you do on average per headshot, the better you're doing. Ideally, you want to try to get 150 each time (although there are times when you'd want to charge your shot, you want to
be able to get shots quickly).
Edit: Oh, and don't underestimate the Sydney Sleeper. It's true that getting headshots is the primary goal when you're playing Sniper... usually, but being able to Jarate people every 1.2 seconds can help your team out immensely.