Of all the challenges a mixer/producer has to overcome, this one is by far the most pernicious and troublesome. You're not alone; everybody deals with it!
Initially, it can seem like an insurmountable obstacle, but it does have a solution. There's no magic bullet, unfortunately, but all you have to do is listen to and study well-made commercial recordings, and listen to them in a variety of scenarios to reassure yourself that it is indeed solvable.
The root of the problem is that every playback system and every acoustical space is different, and each has flaws that prevent the music from being heard as recorded and mixed.
Every playback system is deficient in some way - and here's the gotcha: they're all deficient in different ways. What you have to do is mix and master for the statistical center.
The hardest (and most expensive) step is putting together a neutral listening environment. That means high-quality ($$) speakers, and even more important, acoustical treatments to neutralize the sound of your room. Hey, if it was easy everybody'd do it.
With quality speakers and acoustical absorption, you'll be able to hear those differences that might be exaggerated on one system or another, such as excessive reverb, too much compression, shrill 4-5 KHz or too much bass.
As you noted, some of these problems are automatically mitigated by headphones. However, that's because headphones have their own limitations: skewed frequency response, limited dynamic range, an unnatural panorama. An oft-repeated truism is that things sound better on headphones. There is simply no substitute for speakers in a neutral-sounding room. If it sounds good there, it'll sound even better on headphones (although the reverse is rarely true).
Until then, there are things you can do. First, get familiar with spectrum analyzers. SPAN is free and very useful. Start by loading up your favorite commercial recordings in your preferred genre into a project and observing their spectra. Listen to them over and over on your speakers while watching SPAN. What you're doing is training your ears to recognize what a good mix sounds like
on your speakers, while correlating that to a visual representation of their frequency distributions.
Use your headphones, not to decide what sounds good but rather to listen closely for small details that may be obfuscated by your computer speakers. Listen for excessive reverb, over-compression, extraneous noises and masking. That's what headphones are good at, even cheap ones.
That'll get you much closer to your goal while you're saving up for a speaker upgrade. In the meantime, do some studying, which is cheap or free. Go to Ethan Winer's
Realtraps website; there is a lot of helpful information there about acoustics. Get a copy of Bob Katz's book,
Mastering Audio and read it twice. And most important, just keep on doing it - plan on burning through a big stack of blank CDs before you're happy with the results!