You can databind the label Placement Quadrant with this expression structure:
CASE
WHEN azimuth < 23 OR azimuth > 338 THEN
1
WHEN azimuth > 24 AND azimuth < 69 THEN
2
ELSE
3
END
You may also need an expression calculating a more appropriate offset depending on the azimuth.
Update:
The offset can databind to an expression like this:
CASE
WHEN azimuth < 23 OR azimuth > 338 THEN
'0,-1'
WHEN azimuth > 24 AND azimuth < 69 THEN
'1,0'
ELSE
'-1,0'
END
Negative x-values moves label west. Negative y-values moves label north. So '0,-1' means an x,y offset in 0 for x and 1 up north. Pick the unit used as map units, if you not using lat-long coordinates.