Inkscape has "snap to the midpoint of a line segment" where a line segment can be a part of a rectangle or other curve:

Both red circles are simply started to be drawn approximately at the midpoints of the line segments. The snap drew the centers exactly to the midpoints. Drawing by starting from the center needs holding both Ctrl and Shift in Inkscape.
For Illustrator you have already got some suggestions. Here's one more: If you need the midpoint of a whole path make an art brush which contains 2 equally long straight lines. Apply it to a copy of your path which is pasted in place:

Apply Object > Expand appearance to the copy and you get easy to snap node in the midpoint. Here it's used as the center of a new circle:

Delete the copy when it's not needed.
The result doesn't depend on how many nodes the path has and the method can be used also in Inkscape with extension Pattern along a Path.
BTW if you need the midpoint between 2 existing adjacent nodes without inserting new nodes you can always duplicate the path and increase the number of nodes in the duplicate. Delete the duplicate when it's not needed any more.
In Illustrator you can separate with scissors a part of a path which needs the midpoint but it already has nodes, so the "Add nodes"-trick doesn't work. Make a duplicate and cut it with the scissors for applying the 2-line art brush.