Did you raycast with a distance of 1? That's not likely to actually hit anything, so unless I'm mistaken it's the wrong tool for the job and you probably just want to add the position and look vector together (vector sum) without raycasting.
As for going 2 to the side, I would get the sideways vector by taking the cross product of the look vector with (x=0,y=1,z=0), which will result in a vector perpendicular to both (i.e. perpendicular to the vertical, and also perpendicular to the direction you're looking in, so it must be horizontal and sideways). Then I'd just normalise it (i.e. set its length to exactly 1) then scale it by either 2 or -2 (test and check which one works best for you), and then you can just add that into your existing vector sum to shift it 2 blocks to the side.
I haven't ever used the vector rotation operator, but I suspect one of the problems you're having with it is that you're rotating along the axis of the look vector, rather than rotating around the (x=0,y=1,z=0) vertical vector. Though I think cross product is a more appropriate choice here unless you are specifically optimising the size and have found this to be smaller.
disclaimer, it's been a few months since i last booted up minecraft, but I think my vector math is still solid enough to cast a spell here and there.