Ok unfortunately the method i use is not the correct one.
I mean the idea of slowing down the current velocity and then give thrust with the main engines in the heading direction doesn't make the velocity turn beyond a certain point and it will never make the velocity vector near enough to the heading.
What i should'have though earlier is: what is the "best" force that drags the velocity vector "near" the heading (especially since in the end i want a circular motion)? The centripetal force! I simulate one using the right local vector (because i'm currently dealing only with right turns ).
Now the problem though is to calculate the component of that force vector that acts as a deceleration for the current velocity.
What i thought is to obtain the magnitude of that deceleration vector doing dot(-velocityDir, forceVector.normalized) and then multiplying it to the magnitude of forceVector.
Then as earlier i do dot(velocityDir, headingDir) and then use it to divide the previous calculated magnitude and then use the result for the force with heading direction.
It kinda works, but the speed grows a bit too fast (like 10mm/s) so i think there's something wrong.
I've checked that the dot product between the resultant force and the heading direction is always around 0.
Also probably this doesn't support the case where the angle between the velocityDir and the centripetal force applied is > 180, where i have probably to flip some signs or the like..