I suggest you to go through the 17 pages of the console verification thread as these questions has the answers (starting from page 2).
http://tasvideos.org/forum/viewtopic.php?t=9580&postdays=0&postorder=asc&start=25
I'm not an expert of hardwares, but let's see
1. shift register: the NES controller uses shift register to communicate, don't know if it's neccessary as in possible other ways. check the above thread or take a look at
https://www.allaboutcircuits.com/projects/nes-controller-interface-with-an-arduino-uno/ or the
http://wiki.nesdev.com/w/index.php/Nesdev_Wiki
2. 193 instructions = input speed * 1000 / smallest delay
Of course don't plan on handling 193 instructions in each second.
3. The problem is still that input process is game dependent. I think while the majority of NES games does 2 input polls per 1 frame, you will probably get into issues if you literally want only the latch part.