If you use Distiller, use the job options, and tweak the source file too, you can often get it to both look good and be reasonable in size.
Since I don't really understand the graphic standards, I have not figured out how to do it systematically. However, with rather blind trial and error I have often achieved the "not to big" and "reasonable quality" goal in producing pdf's. I wish I could say how to do it procedurally -- I can't. I reinvent the wheel every time since I don't do it frequently enough. I suppose I should write steps down next time.
True, I don't like Compuserve aspect either. MATLAB has never printed directly to gif, not that it isn't fairly easy to take an extra step or two to get one.
The color of png is certainly better than gif, and it is usually a bit smaller too. png really seems superior, but I don't know why.