How to make foam with bubbles (beer, bath)
You can try making a bunch of low-poly icospheres and throwing them into a giant glass using Rigid Body physics.



This way they collide with one another, and unlike particles do not overlap.



Join those into one object and use a Shrinkwrap Modifier to make an outer mesh conforming to the shape of all the joined bubbles. Apply the Shrinkwrap Modifier and join this outer mesh object to the bubble object. In Edit Mode set the normals of the bubbles to be facing inward, while leaving those of the outer part facing outward.



Then with the bubble geometry made it's just a matter of getting the right material. I played with several setups and I'm still not satisfied. But I'll post the .blend and hopefully the community can make suggestions for improving the material.

[Edit: I can't seem to post the file to Blend Exchange. Is 28MB too large? Bubble troubles...]

Example: 





I think this technique has potential.

If we want to animate bubbles through their complex stages of forming, foaming, growing, bursting, and flowing, that will require some very custom coding... hoping for a beer simulator in Blender one day! Until then, this method should work alright for stills. Cheers.

To see just how complex bubble simulation can be, and some of the recent progress made in this area of research, check out this video by Two Minute Papers.