Is there a way I can separate the vertices on the the segments evenly without moving the end points? I would like for the vertices to maintain the current curve.
As far as I know there is currently no way to do what you ask in Blender.
There currently is no tool to evenly place existing vertex long a curve.
If you already have a curve with the desired shape and wish to add additional vertex you can use the Subdivide operator under the Specials Menu W key. This will evenly subdivide currently selected segments and place vertex along its length at regular intervals while trying to maintain the shape as best as possible.
One workaround you might use is using an array modifier on a mesh to reconstruct you curve.
- Create a new mesh
- Erase everything but one single edge
- Place one of it's vertex on the object's origin so that the edge starts at local coordinates 0,0,0 and extends horizontally in X
- Align that object with your curve (same object coordinates and same rotation)
- Add an array modifier to the new mesh and set it to Fit Curve mode
- Pick your curve as length object and turn on option Merge in the array modifier
- Now add a Curve Modifier to the mesh and set it to use your same curve
- You should now have a mesh with the same shape as your curve and evenly spaced vertex.
- Adjust your mesh edge length to fit your desired level of detail or vertex spacing
- Convert your mesh to a curve with Alt+C > Curve from mesh
- Enter edit mode on newly created curve and set it's type to Bezier (Tool Shelf > Tools > Set Spline Type button)
- Set it's handle types to Auto for smoothest results with the V menu Set handle type > Automatic
Hope this helps