My basic tips:
1)Start with a 4 chord structure, then expand it to 8 - change up the last few chords on the second round. Think outsie the box with the chords, using a keyboard helps with this - honestly I just play what sounds good/right and flesh the chords out from there (adding upper and lower octave notes)
2)Give the chords some rhythm, even it's just basic 4x4 chops
3)Write a lead/melody over the top using the same notes from (or notes in key with) your chords, again give them rhythym and humanize them - no one wants to listen to a straight set of bar long notes.
4)Write your bassline, it could be as simple as the bottom notes from your chords - and then again give it rhythym/chop up the notes.
5)Now compile this into a decent structure, try not to have to much at once and aim to get everything complimenting everything - so don't just layer a shit ton of synths playing a shit ton of notes.
On structure, I still play it pretty safe - intro/build/main/break/build/main with variation/break/outro and I like to vary the synths and instruments throughout this e.g. intro the song with piano, build using an arp, have the main with some chunky synths/bass, breakdown to piano/choir/strings and build again etc...
Personally I like to work in piano or basic saw sounds before expanding out into different sounds - it helps me to focus on the actual musical aspect rather than thinking about how fucking uber filthy my bass is going to be
In terms of your song you seem to have pretty much all of what I said covered, its just a matter of continually producing and progressing. Your build lacks energy, so I'd strip it back some, and make your drums more interesting - they're so "standard". The drop is weak because you don't have a "drop" - you're just continuing the same kick and chords but with an added snare. Variation is key. For bass design check out the big reese and growl bass threads by the sounds of your track you're after something like that to juxtapose between your chords (not unlike this perhaps?
http://soundcloud.com/spectrafunk/out-of-time-wip-stuff)