Perhaps easiest is to split into three, join back, convert to points and back to a curve. Just ensure the link order in "Join Geometry" is correct. If you have multiple splines, you can capture spline index ("Curve Info" is a custom group available in vanilla Blender, but the part I'm using is just Index → Evaluate on Domain: Spline) and use it as group ID in the "Points to Curve":

"Do something" above simply resamples a curve to 3 points.
Dynamic (variable) number of parts
You can't use "Separate Geometry" node to separate a curve into more than two parts. This is because a curve, unlike mesh, doesn't store info on connections between points (edges), it just stores points in order, and the connections are implied by that order. The only exception is the info if the first and last point are connected, which is called "cyclic[ity]". So for splitting a spline to more than 2, you need to convert it to mesh, then split verts (splitting edges will duplicate points!), and convert back to curve.
Also beware converting mesh to curves will ignore single vertices, even though you can make single-point splines. So if that's ever a problem, you need to use "Vertex Neighbors" to detect such situation and duplicate them temporarily (resample these splines back to 1 after conversion).
Then as above, join the geometry together, but avoid joining what used to be separate by using the captured "Curve Index". Additionally, capture the point indices to keep the order right.
Notice how the captured index isn't float, which makes the resampling interpolation produce a lot of duplicates - this is not a problem, because according to the docs
Weight
If the curve contains more than one Point, the Weight of each Point is used to define the order of all points in curve via sorting. The goal of sorting is to have points with the minimal Weight value at the start of curve and the maximum Weight at the end of curve.
Note
If points of curve have the same Weight value, the order will be the same as its original relative location. Without any Weight and Group ID inputs, each point will have the same indices in the curve.
I actually don't quite understand this, I Think they should just say the 2nd sorting criterion (a tie-breaker) is the index…
So here's the setup:
