Blender audio-visual don't sync
Highly compressed files can exhibit decompression errors, that is frame arrangement errors. And this can lead to Blender having a confused time stamp. In other words the h264 files can confuse Blender entirely.


Timecode:


Try creating a proxy/timecode for each video clip. You can just select timecode free run, and dont worry about a proxy.
This should help Blender allocate the correct frame to the clip's image sequence.


Re-compress:


Try changing or transcoding the source media to a frame sequence, this pretty much guarantees a correct time stamp for Blender.