For mass compatibility, stick to H.264 for video encoding, inside an MP4 container. Handbrake can do this decently. Basically that should ensure compatibility with consoles, Windows (either via 7, or codecs in earlier versions)/Mac, and portable devices.

The problem comes in when you try and balance bit rate with what each device can play. Some devices expect an exact resolution and such, so it can be a pain. Find a short movie or maybe an episode of a TV series to encode and do tests with on the devices you want to use.

For my purposes, I figure I'll have all the raw DVDs on the NAS, and can encode them as necessary for various devices. Something I tend to do before I travel is handbrake a few movies to keep on my iPhone, and toss maybe some more content onto the laptop. Should be easier to manage now, as I can just batch encode without swapping discs.