In my experience small companies tend to be the best to work for, but this varies wildly. Large companies are more reliably mediocre across the board, but bad small companies can be outright abusive (usually you can detect these with a few questions in an interview... for example, ask how often employees work outside of regular hours).
Actually, I'd say you're lucky if you find a small company that isn't at least mildly dysfunctional.