Child Particles: Awesome! Didn't realize they were in.

Animated: This is done by shifting the particle UV to each frame in the spritesheet. No video files or anything more complex like that. I also wrote a small python program that generates sprite sheets from image sequences, and the logic for reading a sprite sheet would be similar to assembling one. If you want, I'll upload that little program.
Random Starting Rotation: This isn't to do with particle lifetime or intensity. It's to do with the visual rotation of the particle with respect to the camera.
Pseudo XML:
<particle-rotation>
<rotation-value min= "-30"/> (degrees, negative 30 would be 330 degrees)
<rotation-value max= "30"/> (degrees positive, clockwise)
<rotation-random= "1"/> (value of 0 means particles spawn only at 30, and 330 degrees, value of 1 means particles spawn anywhere between -30 and 30 degrees)
</particle-rotation>
If you don't understand or want to see the purpose of the feature, let me know, I'll make something quick in Unity.
Soft Particles: The purpose is to hide the ugly intersections between 2D sprites and 3D geometry. Scene depth is Unity's term for the distance between each pixel and the camera. The simple way to handle intersections is to lower particle opacity per-pixel based on the depth of the pixel before the particle is drawn. This would probably require a setting in the menu as it does have a small performance impact, most of which could be negated by having a switch in particle XMLs that defaults to off. This would be a substantial visual update, making bigger particle effects appear more volumetric.