Impedance is something to work with, not something to fight.
Regardless, this is going about it all backwards. For the armchair experts above the schematics are readily available so you haven't even made an effort. Ribbon cables are not the major problem in this system, it already works well with the short sections of ribbon designed into the system and ribbon effects are swamped by the intentional loading:
47k pull-ups, 2x470pF shunt capaitance, and ferrite beads on the drivers for series termination.
there seems to be a lot of impedance on the ribbon cable which is causing the signals from button presses to sort of echo and also cause nearby outputs to send high when they are not supposed to
What do you meant by high value nearby outputs? Is that from scope measurements at the micro controller? Are the outputs open collector or push-pull?
The code for the microcontroller needs to be done very well (worst case interrupt latency becomes critical) or you'll miss the timing of the multiplexing. Start by having the outputs of your microcontroller
not connected to the rest of the keyboard, and see if it works as expected from just the inputs. Then add more bits (or approximations of them, like the shunt termination or a section of ribbon) of the system one at a time.