Hmm. I haven't tried this particular animation, but I will ramble about an approach that might work.
I guess I would start with one bone that has a confetti image. Set translate keys to move it along the path you like. Don't worry about timing, just get the path down. Eg, move up and right in straight line some distance, then slow right movement as it starts to move downward, then move straight downward.
Next move the keys in the dopesheet so the timing is how you like, eg moving up/right is fast, slows as it curves downward, then speeds up toward the ground. Use curves where possible to control speed, eg if it is moving straight down, you only need one key with a curve if you want it to move slow and then a bit faster. When moving up/right you only need one key with a curve that moves fast at first, then more slowly.
Next you can set rotation keys for the bone as it translates.
Now just repeat that for another 20 or so confetti pieces and you are done. 😉 You can try this: Create a new bone with another confetti image. Select keys from first bone in the dopesheet, select second bone, paste keys. Now you can adjust the keys to be slightly different, eg maybe the second piece goes up/right higher, goes more right, goes up/left, etc.
One thing you could do is to have bones like this:
root
burst1
confetti1
confetti2
confetti3
confetti4
After you get the confetti bones under burst1
animated, duplicate burst1
and rotate the duplicated bone slightly, and/or translate it slightly. Duplicate it again and rotate it slightly in the other direction, etc. This might save you some time. Unfortunately duplicating a bone won't yet duplicate the keys in animations, so you'll have to copy paste the keys for each bone, which is a pain.