A few things worked for me when building up accuracy:
1) Consistency. If your mucking around with different throwing styles, sling types, ammunition shapes/weights, target distances etc then it will take a very long time to get accurate. Try and keep every variable above the same each time you practice. I use the same sling, same throwing style, same ammunition (tennis balls) etc.
2) Easy goals. When I first started I picked a 50cm square target at a 12 metre distance. Initially you want a large target and a short distance to help provide positive feedback in the learning system. Shooting 100 rocks at a coke can from 50 metres is fun, but you get no information on why your hits are missing, or why they are getting close.
3) Practice Lots. Lots. More lots. This and consistency are the most important. The very first time I went out to practice with my setup above I did 360 throws. My accuracy was 25%. 20 practice sessions later with an average of 220 throws per session (4800 throws in total over the two month period) and my accuracy was now up to 75%. At this point I felt comfortable experimenting with target size reduction and distance increase.
4) Low power. I use about 40% power when Im practicing. Like many other similiar skills the goal is to train your muscle memory and brain to perform the action. You cant do that if your trying to go for full power everytime. Your technique will suffer, thus you will be teaching yourself the wrong things. Also its a tiring process. I can do 300 throws in a session (takes me about an hour) and my arm feels a little tired towards the end. If I was going at full power I wouldnt last half that long so my practice sessions wouldnt be nearly as benificial.
I still do some power training, usually when Im finished for the session I'll throw 20 or so shots at higher power levels but its not something Ive been concentrating on at the moment, plus high power throws with tennis balls against a concrete back wall tends to destroy my ammo