You could try the Distribute Layers script, though I'm not sure how much control you have in where the layers are randomly positioned. You would have to keyframe the layers before you apply the script, then apply it and keyframe their position ahead of the previous keyframes.
I personally would just manually keyframe everything in this instance, just because I feel like the amount of tweaking you would end up doing using another method would add up to just as much work. Who knows though; I've been wrong before. ;)
Don't be intimidated by lots of keyframes. You could keyframe animate this much faster than trying to write an expression or something to do the same thing.
Make sure all the layers are in their final rest positions and arrange layer orders to group together “rows”. Put the time indicator at 12 frames or however long you want the fall to take. Select all of the layers and hit “p” on the keyboard to reveal position. Click the position stopwatch on one of the layers to create the end position keyframe for all layers. Move the time indicator to the beginning and move the shapes up in the Y direction all at once, until they are off screen. Then use this script to sequence all the layers so they fall consecutively. http://www.videocopilot.net/tutorials/shatterize/