If you ask me, a good fix for Oddball would be to make each ball have a limited number of earnable points, as well as ball spawn locations that rotate sequentially. Each time the ball despawns or has been drained of all points, a fresh one spawns at the next spawn location. In pubs, both teams compete to 100 points, and each ball can give a team up to 50 points if they hold it the entire time. In ranked, both teams compete to 150 points, with each ball still giving up to 50 points.
This creates a need to maintain map control not only on the ball carrier, but also the next possible ball spawn. It forces the team that holds the ball to eventually ditch it to reacquire it elsewhere without ending the round.