Hi there,
First of all, it took a lot of guts to post a raw mix to this forum, and for that you deserve a ton of respect.
Like Yellowjacket, I don't know exactly how deep your understanding goes, so please take what I'm about to say with that in mind. Most of this will be general best practices that will hopefully guide you to an easier time mixing—so that extensive mastering is almost unnecessary.
I had listened to your track before you took it down, and you've got a cool track with a lot going on. Aside from what Yellowjacket has already said about writing parts in non-conflicting registers, I think your mixing could benefit from more time spent on the front end, before you even begin to EQ, automate, or add effects).
I would save the file as a new project, then bypass all of your EQs and automation, and start over from zero to get everything really close to where it should be in terms of levels. There's a pretty neat trick for doing this quickly using pink or grey noise as a level reference, where you can get all of the instruments dialed into a reasonable mix in just a couple of minutes. Here's one video that explains it in a nutshell:
It's a scientific way to quickly get things to fit pretty well against each other. If you don't have the ears of a professional mastering engineer (and really, how many of us do?), I find it works a treat.
Once you have your levels set reasonably close, now you might go through each track applying very minimal compression (as inserts) to get transients controlled and to have each track sit even tighter in the mix. This should be subtle, though, as you don't want to take the life out of each track, you only want to add a little bit of control—don't reduce peaks by any more than 2 or 3dB. You should find at this point that your mix is already sounding pretty good.
Now, you can add some EQ. As Yellowjacket already mentioned, use a slow high pass filter at about 100Hz on everything but the kick drum and bass instruments. This is such an essential task, it's worth saving this action as an EQ preset to save you some keystrokes and mouse clicks. Seriously, do it to everything. For a lot of instruments, you'll be able to pull this up to 250Hz with no noticeable impact on the sound, but it will reduce the energy of the noise in that bass area of the spectrum, which means the listener's speakers don't have to work so hard, so they can more effectively reproduce the higher frequency material.
This all might seem like a lot of brainless grunt work, but once you get the process dialed in, you can usually get a very complex mix dialed in and well-controlled in less than a half hour. Then, you can start working with imaging, EQ, level automation, and reverb (in that order), and you'll find any changes you make here are much easier to assess. Also, you'll be less ear- and mix-fatigued, which will really assist in your audio decision making.
I remember seeing a lot of EQ boosts in your video. Try to avoid this, as it messes with the harmonic spectrum of the sound. Instead, use judicious cutting where you can—use the analyzer in your EQs to scan your tracks and see where 2 instruments are competing in the same frequency range, then try cutting one of those instruments on the low end of their shared range, and the other on the high end of their shared range—again, usually no more than 2-4dB is necessary, with a fairly soft Q. This will increase clarity of both of the instruments, without introducing any extra "unnatural" harmonics. You usually find that you don't need to adjust gain after these cuts, because it usually makes these instruments easier to hear and differentiate.
Also, a good practice in EQ is to cut narrow, and boost wide. Explained better than I could here:
http://www.hometracked.com/2008/01/31/eq-cut-narrow-boost-wide/I hope I've explained these things well enough to give you a good idea of what I mean. Feel free to PM me if anything wasn't clear—it's obvious I like talking about this stuff!
Again, much respect for sharing.
Good luck with the cue!