For me it all starts with sound choice. If you can hear a basic separation between all the tracks without putting a single EQ on them, you've made the right choices. Don't know how many times I've spent hours experimenting with the most insane roller coaster EQ curves trying to "carve space" for tracks which just did not work together. What a waste of time - the best you're going to get is a bunch of weird sounding tracks that still step on each other.
Have you ever had the experience of just throwing a few parts together while playing around - whether loops or samples or synth sounds or whatever - and they just sound great from the get go? Excellent clarity and definition without a single EQ curve. That's what it's like choosing the right sounds, and what you should be aiming for. From there, any EQ you do is just a matter of polishing things up a little.
If two guitar parts are stepping on each other, then I will dial in a completely different tone for one of them until they contrast enough. Sometimes I'll be using a snare sample which masks a lot in the mix, and rather than spend hours trying to tweak it with EQ, I'll just look for a different sample until I find one that fits nicer in the mix.
As Rob says above also, arrangement is just as important. If you're clever with the arrangement so that no more than two or three things are sounding at once, you can make a lot of tracks fit together and give the illusion of a busy mix without anything stepping on each other. For instance, on the EDM forums I hear so much talk of all these insane sidechain routings and crazy amounts of EQ to get a kick and bass part to work together. And yet if you arrange your kick and bass so that they're not playing together, they both have definition before you've inserted a single plugin.