Simple answers
1 when the ball hits a cannon. Destroy it. Have each cannon with a turret behaviour. And activated on collision with the ball. Just set it's target as the next cannon.
2 have bullet aspect on the ball. On collision. Set speed to 0. Rotate cannon overlapping the ball to next cannon. Rotate the ball to the same angle as the cannon. Then set the speed again.
Complicated ideas.
If your using physics on the ball. So it's like donkey Kong country where there is a drop. Its more of a case of trial and error for the cannon placements.
You could also set the centre of gravity to the target cannon. The ball will stop when it arrives in till you set the next target