LPT: Get rid of the "No take, only throw" mentality of your dog, by playing fetch with multiple balls.
This trick worked wonders with my 2 year old pit, Ivy (I have 2). At first it was really annoying when she wanted me to throw the ball to her, because I knew she wouldn't drop it when she caught it, and she would always dash off whenever I'd try to take it from her.
Then one night, I had multiple tennis balls near me, and I threw one for her to chase, thinking that I wouldn't get it back; before I knew it, she was right in front of me again, looking at me, then at the other tennis balls near me.
See, the key to getting your dog to play fetch properly, is being able to get them to understand that the ball cannot be thrown, unless it's in your hand.
You can do this by:
(a) Throwing multiple balls at the same time
or
(b) Throwing one ball at a time but in fast succession
With any of the two methods, your dog will predictably drop each ball he/she catches, in order to catch the other. The latter method will be quicker in helping your dog understand YOU are where the balls come from, and they will drop the ball they currently have, and wait for the one you have. (This also worked with my pit)
Now, as with all LPTs, this isn't perfect, as it still doesn't necessarily train your dog to bring the ball/thrown object back to you, but it certainly is a good starting point.