solve top and bottom layers with ortega.

orient one layer, then the other. say u follow the BOY color scheme, either orient the yellow or the white face first and the other face would automatically be oriented...(ie make sure yellow and white are on their respective layers)
then permute the corners with an ortega algorithm that solves the corners when there are bars on both the top and the bottom layers...if it is not possible to do so, apply R2 U R2 U' R2 U R2 U' R2
for 2x2x3, the middle layer is just trivial stuff...
for 2x2x4 and up, I would just use simple commutators like r U2 l D2 l' U2 l D2 l' r' (after rotation such that the corners solved are on the right and left) to solve the (n-a)th and (a)th layer at the same time where a is an integer < n. repeat until all layers are done? XD for odd layered ones, the middle layer can be solved trivially and the rest solved as described above.
hope this helps...