What is the best way for controlling array of 8-16 relays?

The circuit I showed will handle those relays easily, the chip is a lot faster than the relays.

I use the Shiftout function to drive the outputs ( I have strips of LEDs, but it could be relays)

The serial data through the first chip ( which is a shift register ) pin 18, feeds the serial in to the next pin3 input, and so on.

You can have as many chips as you like.