My approach has changed over the years (30+ in this field). It used to be simple because emacs could do everything. :-) Nowadays, vim can do most everything, but Eclipse, IntelliJ, and Visual Studio are widely used. I currently use IntelliJ.
I have used vi, emacs, vim, notepad++, eclipse, Microsoft Word, Visual Studio, IntelliJ, Chrome Debugger, Atom, Sublime, and most recently VSCode.
I do the following:
I have a primary set of key bindings that I use across every one that will allow me to change my key bindings. I currently use emacs key bindings for: emacs, eclipse, Microsoft Word, IntelliJ, Sublime, and vscode.
So the basic's of navigation (up,down,left,right,home,end) all work the same. This gets me 70% there. I've come to use the windows cut/copy/paste, undo/redo which for better or worse seems to be the default for most systems except emacs (so that's easy for them). In emacs, I use emacs defaults. This is somehow still natural (probably I've used emacs for 30 years).
I have a MS Word document with the different tools and the key bindings I use for them. I keep: "what I want to do", tool/keybinding/commandname, default command name (for that key binding) for each of the tools. It's a bit of a pain, but it is what I do.
Export the key bindings for each tool and save them to a file that is stored in GITHUB. When I get to a new machine I download them and configure them on the new machine.
NOTE: I tried using IntelliJ's Settings Repository and that helped some (if you're not aware if it, it lets you sync IntelliJ settings in GITHUB and then when you change settings they are synced with the repo, and when you get to the next system, those changes are merged). It's a great idea in concept but I and others have had issues with it.
I was just searching for another solution to this when I saw your post. I'm not seeing any wonderful answers, and mine isn't one either!
I want an application that lets me define the key bindings I want to use and then configures the applications to use those key bindings. I don't see that coming anytime soon, unless I write it. :-)
NOTE: I've also run into issues where in Citrix (remote desktop environment for windows) or using different Window Manager's in Linux that different keys that you might want to use (like Alt+RightArrow) don't work because another app "eats" that key combination so the IDE never even sees that that key was pressed.
I do wish it were simpler.