When there's no need to alter/edit the content of an image, I use IrfanView almost exclusively for cropping, rotating, resizing, format conversion, palette change and compression. It's light, fast and intuitive.
For lossless compression PNG is the way to go IMHO but, as others have already pointed out, there's a hard limit to how much you can compress in a lossless format. JPEG is lossy by nature no matter how high you set the quality but you can set the compression to any level if you're willing to bear the loss of quality. For images containing only a relatively small number of different colours, such as line drawings and comic book style drawings, a PNG file can be much smaller than JPG. But for an image containing thousands of colours, JPG can compress more.