If you use custom bindings, you've probably experienced the frustration of the "Custom" preset getting overwritten. Sometimes it's because you unplugged or plugged in something new. Sometimes it's caused by a patch. Either way, it sucks to have to laboriously reset everything.
Save your sanity with these simple steps:
Find where your keybinds files are located. e.g. appdatalocalFrontier developmentsElite dangerousoptionsbindings
There should be a custom.binds file. If there's more than one (e.g. custom.0.8.binds) use whichever looks most recent. Make a copy, and rename it to something like MyName.binds.
Open MyName.binds in a text editor. Where it says PresetName="Custom", replace "Custom" with the name of your scheme. e.g. PresetName="MyName"
That's it! Now when you go into the game, you'll be able to see your MyName preset in the control schemes dropdown. You should be able to make changes and have them saved. And Elite won't overwrite it all the time, unlike using the "Custom" control scheme.
(Still, it's wise to occasionally back up your customized binds file(s).)
Apologies for any inaccuracies, I'm away from my Elite computer and doing this mostly from memory.