My understanding is that Fox Labs is a good brand. Personally, I think the 2oz is a good size. Large enough to do the job, but small enough to conceal.
My understanding is there are three main types. Stream, Cone and Foam.
Stream has more range, but you have to be more accurate. Cone works better up close but is going to be less effective at farther distances. Foam is for indoor use where having a bunch of aerated particles in the ventilation system is probably not optimal.
Personally I think the cone is the best for general purpose. Most encounters of the unpleasant type are likely to happen up close.
Keep in mind you need to plan 'what next'. Typically "run!" is the answer.
-john