This setup will add the transparent shader to itself when seen by the camera. To avoid excess fireflies, an emission shader is used for non-camera rays.

I used two transparent shaders in this case, but if you don't need to control them separately then only one is needed.
Result with three overlapping objects:

Note that with many overlapping objects you may need to increase the max number of Transparent bounces in Render settings > Light Paths to avoid getting black spots where there are more overlapping transparent surfaces than the specified number of bounces.
#Update
Update
With the new transparent depth output of the light path node, you can avoid getting black when you run out of transparent bounces. This setup will replace the transparent shaders with an emission shader when the max number of bounces is reached:

This way you can use lower numbers of transparent bounces and not have annoying black spots.
Original answer:
This will make the emission shader become brighter the longer a ray travels through the object:

However, this only works with a single object, so it doesn't look too good with many overlapping particles.
