Brachylog, 17 bytes
c@~P,?:{l~l}a.cP,
###Explanation
Explanation
We basically create a list of sublists with variable elements that has the same "shape" as the Input, and then state that if we concatenate everything into a single list, it must result in a shuffle of the concatenation of the input into a single list.
c@~P, Concatenate the Input into a single list. Shuffle it and call that P.
?:{ }a. The Output is the result of applying this to each element of the input:
l~l The Output is a list of same length as the Input.
.cP, P is the concatenation of the sublists of the Output.