There may be better ways of doing this but this works for me. I first use VLC to work out how much I need to delay or advance the audio. Then I use ffmpeg with the following command line to resync the video permanently:
ffmpeg.exe -i "input_filename.mp4" -itsoffset -0.4 -i "input_filename.mp4" -map 0:v -map 1:a -c copy "output_filename.mp4"
The -0.4 is the adjustment to the audio stream in seconds and can be positive or negative.