The key to winning Starcraft 2 2v2 matches is macromanagement. My recent realization, which should probably be accompanied by a "duh", is that what wins you games is the ability to macro as your units are attacking. Why? Well, if you lose the battle, you still have units coming to defend you.
I really recommend attacking first in 2v2, especially when the bases are separate, not shared. It's not very common for players in the lower leagues especially to set a common rally point for their units, and if you can take your combined army and hit half the opponents' army, you are going to simply roll them over. Granted, they will reinforce, but so will you, and if you manage to do economic damage (which you should), then the game is yours.
For the sole reason that you have TWO players' combined income against you, I don't recommend "all in" type of strategies in 2v2. It's far better to have that multiplicative-macro bonus working for your side, rather than trying for the quick kill and have your opponents possibly get ahead of you. It's even possible for ONE of your two opponents to beat you if they are left to build up and tech up fast enough.
Day9 coined an interesting phrase in his podcast on 2v2 strategy. He called it "die slowly". He implied that in some games, where you and your ally are separated by a fair distance, it may not be possible to save your ally's base, while still being possible to win the game. Simply put, the more time it takes for your ally to be finished off, the more time you have to tech up, expand, and put down fixed defenses. Meanwhile, you opponents have likely sunk a great deal of resources into their attack, at the expense of economy. This sacrifice of theirs allowed them to destroy your ally's base, but should also have given you time to create an army capable of defeating the remainder of their COMBINED armies. And thus, back to the idea of macro winning you games - if you can't build up in the time your ally gives you, you need to work on your macro.