one partial and approximate solution is to use the harmonic forces as a self-effect on the particle system. Here, "harmonic forces" means to turn the particles into a set of oscillators, connected by virtual springs. The rest distance is the distance we want to keep between objects.

The key point to note is that this now adds an attraction for particles spaced wider than the rest distance, and that it might lead to wobbling. The latter can be controlled with a high damping factor (at or close to 1 gives us "acyclic damping"). To control the former, judicious use of the maximum distance and the strength and power of the force field is necessary. The result can be further improved by use of charged particles (so they repulse each other) and maybe combine that with invisible, charged objects as external attractors.

Downside of this approach is that the self effect on particles is limited to two forces and that getting the right behaviour can be tricky and insidious.
But the largest shortcoming is that there seems to be no way to tie the rest distance to the actual size of the particles, which might vary randomly

hard self collision: make particles occupy space
I've just installed 11.04 and now at random everything freezes. The keyboard responds but the only thing that seems to unlock it is a reisub. I never had this problem before and I've had this computer for almost a year. I'm using gnome 3 but it also happens when I'm using unity. Even if I don't have any programs running soon or later it freezes. I've seen some similar questions here like this and this but no solution. 
