Thanks for the reply :)
I have been reading http://www.gamefaqs.com/snes/916396-snes/faqs/5395 about the protocol for reading the SNES controller. From what I can gather when the latch is sent high (for 12uS) the Data line also goes high, then the Data pulses low for each button pressed on each Clock pulse.
What I was thinking is if the Data pin is held low by a resistor (say 10k) on the socket, when the Pi sends out its latch pulse (when no controller is attached) the Data line wouldn’t go high. Could it use that to indicate that the controller is missing and stop reading the port until the next cycle?