Please note: This solution is more of a trick than a really solid and mathematical solution, but in most cases it leads to the goal.
...at least it's an interesting approach and can give you a good direction:
Draw your curve.
Then offset the curve points by a certain value, left/right or outside/inside.
...As expected, you get exactly the result you do NOT want.
At the same time, if you create a mesh from your original curve using Curve to Mesh
, which is not quite as wide as your two outside curves, you will get a mesh in between, which looks a bit like a roadway
Now you can use Geometry Proximity
to check if the outer curve points protrude into the inner area and you can remove them, leaving only the curve you are looking for
You can then edit these two curves with your desired profile. Keep in mind that this will cause the same problem again on the mesh itself, (but that's another topic, and as far as I know there is no funny trick with geometry nodes to solve it).
Here is a summary of the node group that leads to the described result (The inputs are marked green here):
Of course, with this solution the spacing of the curves is flexible, and in most cases the result should be without error (depending on the curve).