Taking the method explained by FelixIP in this answer and adapting it to your situation, we get the following steps:
You already generated a rough draft of the thalweg line, so you can skip the first two steps outlined by FelixIP (Use hillshade image of dem as background. With few clicks draw draft of levee.)
Draw perpendiculars at small steps along the purported thalweg line
produced by your current method. (Robert Buckley achieved this automatically with ET-Geowizards.) Make sure each perpendicular line is long enough to reach the riverbanks. If you don't know where the river banks are, make the lines long enough to extent past where the riverbanks would be (a hillshade might be helpful for that).
Define the highest point on each perpendicular, eg by interpolating
the shapes to 3D and finding the highest vertex.
Draw minimum spanning tree of all points.
Define shortest path between first and last points, this is your
thalweg line.
FelixIP reported that they used this method in a Python script, and it took 3 days for 2 technicians to successfully delineate 100s km of levee ridgelines in Australia.
Obviously this is just a rough outline of the method. You'll have to figure out which tools to use if you want to avoid writing code.