hard self collision: make particles occupy space
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