Step 1:  Make Both Layers Square

There are plenty of guides out there on how to do this step, so I won't discuss it here.  Right now, the method I use is to first get six corners in the bottom layer.  Once you have this, there are only five ways the top layer can be.  Then it's just a matter of recognizing what shape you have and applying the correct algorithm (though the algs to this become intuitive over time).  You can read more about this method at Jaap Scherphuis' site here.

Eventually, I plan on learning optimal sequences for every possible shape.  When that time comes, I'll write more about it here.