I'm not a cue-maker but did cue repairs locally for a few years a while back. Some of the other member will for sure have more experience than me. That said, the below was my experience:
I found for me, using a 4 jaw independent chuck, and indicating in the work using it every single ferrule job, was well worth the extra time it takes to use the 4-jaw chuck. I was on a hightower mid-size lathe, and there is a 4-jaw chuck made for it. Using this method, you can split the difference of any out-of-roundness of the shaft.
Regarding your tool, as others have said, it has to be sharp. If not, it will push the ferrule instead of cutting it. One way to test, is to take a cut of .001" on the diameter. If your tool can't make a clean cut removing that small of material, it is not sharp enough. I used a carbide tool, but kept a diamond hone in my apron pocket. I'd touch up the tool before every ferrule job.
Another thing to check is that your tool is truly cutting round. It should be if its sharp. But to verify, use micrometers on the ferrule. Calipers are not good enough for that measurement, imo.
If all checks out with the tool being sharp, and you cutting the ferrule perfectly round, and you splitting the difference when you indicate in the shaft, then the shaft is out of round. At that point, what I did, was cut up the shaft at the new ferrule diameter about 100 or 200 thou. The tool will only be cutting the shaft on one or two sides. Then sand that area with 400 or so. Then take some spit on your finger, and rub it on the dirty wood of the shaft you did not sand, and rub the dirt onto the cut area. It will blend in, and make the shaft look the same.
Remember, if you are having this problem, (and everything else checks out), that means the shaft is not round to begin with. So you either make a non-round ferrule to fit, or make the end of the shaft round to fit the new ferrule that is round. There is a problem either way. I liked this way myself