This is also something I regularly want to do, for instance making sure all the shows I've got on dvd can also be watched easily from XBMC.
I haven't found a good solution yet, so I wrote a simple script based on handbrake cli. Not that special, but does the job.
# input must be:
# - <devicename> (which can be anything lsdvd takes)
# - <outputfolder> where do you want the ripped series
# - <outputname> the base name of the output
# if available get the title and get the number of titles
TITLE=$(echo "$LSDVDOUTPUT" | grep -i Disc | sed 's/Disc Title: //g')
NOMTITLES=$(echo "$LSDVDOUTPUT" | grep -i Length | wc -l)
# iterate over each title
for (( c=1; c <= $NOMTITLES+1; c++ )) do
if [ $c -lt 10 ]; then PREFIX="0" ; fi
HandBrakeCLI -i $INPUT_DVD -o $OUTPUT_NAME_TITLE -t $c