The way I do it is to figure out where the vector I want to align to is relative to the object I'm aligning (left, right, above, below) and then pivot in the appropriate direction using the controls at my disposal (e.g. a person can turn left or right; a plane can climb / dive).
I don't use aligntovector at all precisely because of the problem you're seeing.
I don't use aligntovector at all precisely because of the problem you're seeing.