As Anarch has pointed out, the billiard ball theory describes some events well and others not, there is certainly not just one factor, but such avalanches of migration do indeed sometimes happen.
It is also unclear whether the Xiongnu really were at the beginning of the avalanche which reached the Danube in the 370s. Maybe it was the Sassanid Empire`s attempt to bring Transoxania under their control which destabilised the power balance? Maybe it was climatic change in Central Asia? Maybe it was all the aftermath of dislocations caused by the Tokharians / Kushana?
Also, one explanation is that there wasn`t really much of an avalanche in the late 4th century and it was all just different groups in the Pontic space all being attracted by the wealth and weakness of the Roman Empire. YOu know, when the Goths arrived in the 3rd century, they replaced Dacian groups like the Carpi as the Roman border nusiance no. 1. The Goths formed quite a large realm based on what they could get off of their "relations" with the Romans. Around 370, the Huns and Alans were already living in the Eastern Pontic space, and they were directly concerned by expanding Gothic influence. Maybe it all began as an anti-Gothic revolt? Or as an attempt by Hunnic groups to imitate what the Goths had done?