If you were to use align_epi_anat.py to take care of both the deoblique and alignment to an anatomical (and the motion correction), you could use
this script to take care of the rotations.
Alternatively, you could use
TORTOISE to handle a considerable amount of preprocessing (eddy current "correction", motion correction, alignment to anatomic, etc), all while taking care of any b-vector rotations.
There are other possibilities as well, but I would start with one of these two options.