One bad practice in programming is to have a lot of unnamed parameters.
Footnotes/endnotes seem similar.
That's what arrays are for.
It's particularly annoying for authors not using great footnote-configuring software.
What software does this well?
One alternative would be to use what we can call named footnotes or endnotes.
If you have 10 endnotes,
10 endnotes? Break the document up into sections, and the footnotes up into sections.
and then decide to introduce a new one mid-way, you then must re-order all the others after it.
Authors also could not re-order the footnotes.
Or separate drafting and finished product: * indicates a footnote (to be replaced with a number later). At the end, searching * will find the first instance. (If the footnotes are being made at the same, then /* for the notes in the body, and \* for the footnotes at the end. Any uncommon symbols work - like qw.)