I thought I had a good solution with Freemake Video Converter after learning to specify 29.97 as the desired output frames per second (fps). Recently I had some time so I figured I would pick up where I had left off ripping the full set of Hill Street Blues DVD's that I had purchased a year or so back on Amazon. (An extravagant purchase, I know, but the set is 34 DVDs of perhaps the best TV ever produced.) I had previously converted a couple of seasons without issue, so I was surprised and disheartened to find a significant sync issue when I checked the results in the new MP4 files created from the first of the Season 3 DVDs. Specifically, the video trailed the audio enough to make the MP4 unwatchable. I tried ripping with different software and on multiple computers but nothing worked other than a painstaking and inefficient procedure in which I recorded a track during playback using VLC, then converted the resulting file from VLC's default format to MP4 using Freemake. Oh, and the resulting MP4 was more than twice the size of the one done in a single relatively quick pass with Freemake.
I finally came across this solution on Hectic Geek that actually worked. It involves a second step after converting the tracks to MP4's, but it is quick and easy, and it is the only thing I have found that actually works. If you have been down this frustrating road as well (almost a certainty if you are reading this post), I would recommend you give it a try. You will need a copy of the free, open source (GNU license), non-commercial product Avidemux. Avidemux is multi-platform video-editing software that does quite a bit more than adjust audio-video sync.
After the quick installation, I followed the rest of the steps and suggestions in the Hectic Geek article. In my case, the following settings resulted in the correction I needed. One note - be sure to either close (File > Close) each file before loading the next, or exit Avidemux after re-saving each MP4. My successful settings, with no other configuration changes from the default beyond the Shift settings under Audio Output and the selection of MP4v2 Muxer in the Output Format:
After determining the correct time shift and checking with the built-in player, all you have to do is to click File > Save and provide a new name for your MP4. The save of the new, adjusted file took just a few seconds. Remember to close each MP4 before re-starting Avidemux to load your next file.