How to emit particles evenly within single particle setting
Blender Internal Render with Particle Info Node for Material Nodes




Image below. 16 Layers of Particles Systems modified with a Python Script.
Vertices of a Cube.





Image Below.  An image meant to be more readable with the particles placed in a plane.  Pulsed and Batch alternating.  Spiral motion is a typical consequence of the Particle System and very little effort of the Python Script.





Image Below.  Particles with Turbulence.  One Force example.





Image Below. 




Technique



In the image above are 4 particle systems.  You may use 10.  Each Emitter particle system is copied via the Keystroke Shift+D. User preferences allows particle system to be duplicated with fresh unique copies.  See user preferences Editing/Duplicate Data and enable Particle System Duplication.  Of course an object can have multiple particles systems.  The script assumes 1 per object for no particularly sound reason.


If you can copy a mesh easily you can copy a mesh with a particle system easily.
The N particles system has the [Start] and [End Value] set to different numeric value M. M >= 0 and  M &lt; N in the simplest case.  See Script below.
Copying Emitters and Manual modification of the values takes (log N + N ) steps.
Example is Verts emission.  Faces emission is an easy switch.  
Clearly if you wanted ((vertex or face) * large number) particles then a script could modify the particle system [Start] and [End] values. (frame_start, frame_end)
The Emitters are in a group for selection convenience.


Script


Use at your own risk. Standard Disclaimer. Please test and improve.
Select the group of Particle System emitters before running the script.


...

import bpy 
import datetime
import math

def delay_particles():
    print("Delay Particles")
    print(datetime.datetime.today())
    print(datetime.datetime.now())

    so = bpy.context.selected_objects
    limit = (len(so))
    n = 0
    for x in range(0,limit):  
        so[x].particle_systems[0].settings.frame_start = n
        so[x].particle_systems[0].settings.frame_end = n
        n = n + 1

delay_particles()