Absolute encoders are the way to go in my opinion. The version from US Digital previously mentioned is very good.
I particularly like it for co-axial systems as the deadband is sufficiently small that you can control the modules through 360 degrees or rotation in a direct measurement application. (sufficient enough for a competition robot anyways)
US Digital Abs Encoder on a co-ax swerve bot The encoder is linked to a tensioning sprocket and is below the chassis rail....attached via a helical beam coupling for anti-backlash and mis-alignment tolerance.
As for steering, I like linking the front two wheels and the rear two wheels. Our standard setup is to link drives on the left and right and steering on the front and back. This gives you immediate access to tank steer, car steer, monster truck steer and regular crab modes. You don't get diamond steer or King Krab abilities....but I'd argue that they have limited uses for competition.