different approach to mine. I "embraced the modes" - going through the controls picking out an "essential set" that would be the same no matter what I was doing and then isolating others that could perhaps vary based on my situation. I basically ended up with "approach mode" - where controls that otherwise might be bound elsewhere were used to give me finer control in proximity to a landing pad, "flight mode" where everything is geared for regular flight and "combat mode" for when the guns are run out. For example in approach or combat mode I dont need any FSD controls - that drive dont work with either the gear or guns deployed. I can use those buttons for something else. In anything but combat mode I dont need subsystem targeting etc... Plus, you can assign macros to mode switches - so for mode 1 (approach) entering the mode deploys the gear, turns on the lights and sets the pips for full shields and reduces engine pips to make speeding with the gear deployed impossible. Leaving mode 1 retracts gear and turns off the lights. Mode 2 (flight) only has an entry macro, it sets the pips to max engines, the rest to shields. mode 3 (combat) entering the mode deploys the guns and balances the pips - because in combat I'm going to be doing a lot more pip management and resetting to a known starting point every time you deploy the guns is a good thing, for me at least. Leaving the mode retracts the guns. Thats only a few examples of what I have set up but you get the picture.
I'm currently reworking it to be more tightly integrated with voiceAttack, moving a lot of the macros into the voiceAttack space with their greater capability including tracking variables and flags. This includes a lot of stick functions that previously were just mapped in-game being reprogrammed to keystrokes that can be detected both by the game and by voiceAttack so the tracking data maintained in voiceAttack stays in sync with the ship state etc.