If the switch is able to float around then resoldering it's terminals is probably your only real long-term solution. As you've observed, broken solder joints are surprisingly non-conductive. I don't mean that sarcastically - I'm always surprised at how non-conductive solder can be in a cold or broken joint situation.