NOT 74HC shift registers, not enough current drive.
TPIC6B595 shift registers, sink current thru cathodes. 150mA/IO pin from 12V source (designed for LED strips originally)
This board will support 96 outputs, can daisy chain boards for even more.
Alternately, use 2 daisychained MAX7219, each controlling up to 64 LEDs. This board will let you connect LED with leads to the board, current limiting is controlled by the MAX7219.
Depends on the current/voltage needed.
http://www.crossroadsfencing.com/BobuinoRev17/
You can see a '328 on the lower left that provides the Arduino functionality. Plug on an FTDI Basic or equivalant for USB/Serial downloading of code.

