This protocol is handled by the gamecon.c driver, so that's the one you'll use for NES and SNES gamepads. So, if you want a reliable source of power for your pads, use either keyboard or joystick port, and make a pass-through cable. If you want to use the parallel port only, you can take the power is from some data pin. For most gamepad and parport implementations only one pin is needed, and I'd recommend pin 9 for that, the highest data bit. Power Unfortunately, there are pads that need a lot more of power, and parallel ports that can't give much current through the data pins.
Ground is quite easy.
On PC's parallel port the ground is on any of the pins from pin 18 to pin 25. So use any pin of these you like for the ground. Ground NES and SNES pads have two input bits, Clock and Latch, which drive the serial transfer. These are connected to pins 2 and 3 of the parallel port, respectively. Only that isn't shared and each pad needs its own data pin.