The crackling can comes from a poor sound interface that saturates with a similar sound playing/overlapping and causing natural saturation.
I've tried shooting a lot of balls on your last example, and modifying the time of shooting, causing some "phase" (overlapping sounds, different delays, and so on), and I couldn't get saturation, with only up to 5 sounds playing.
What you can do, is, when playing the sound, slightly modify the playback rate of the sound, so it doesn't actually sounds like the very same sound.
Adding a bit of randomness can make the sound a bit more nice to play and ear.
You can also play with the volume of the sounds. Adding a bit of randomness as well, in order to add some modulation.
This might help a bit.
Your bounce sound is pretty harsh from the start though, perhaps you could find a softer sound with less attack/harshness from the start.
You could edit the sound in a sound editor like Audacity, and what you would want to add to soften it would be some reverb (not echo).
Also, you could equalize it to reduce the high frequencies, and curve a little the middle frequencies to get some more roundness to the sound and yet keeping a certain impact.
Hopefully, adding some randomness and playing with the random values can help you find something more enjoyable as far as sound goes.