Sync problems in iMovie can be caused by a number of things, such as the audio codec or possibly sample rate issues or frame rate issues. Or maybe the PAL format. iMovie, as a video editing app, can be more sensitive to slight variances in codecs and such. So a clip may play fine in QuickTimePlayer but have issues when played in iMovie. Here are some things that you can try:
Check the frame rate of the project
Check to make sure that your project frame rate is the same 25fps as your GoPro clip. The project frame rate will be set as the frame rate of the very first video clip placed into a newly created project.
Delete preferences
Another thing to try is deleting preferences. Open iMovie while holding down the Option and Command keys and select to delete preferences in the box that appears. iMovie will open in a new library. Reopen your old library to get back to your projects. Possibly you may need to reboot to set the changes. Deleting preferences is a safe procedure that will not cause data loss or disruption to your project.
Re-render the cliip with Handbrake
Often re-rending the clip to Mp4/AAC cures the problem. Try putting your GoPro clip onto your desktop and converting them to H.264, Mp4/AAC with the free download, Handbrake. Do that even if the codec already is indicated to be Mp4/AAC.
You can get Handbrake here:
https://handbrake.fr/
A simple way to do it is to open Handbrake and do a File/Open Source. Navigate to your video and choose it as the source from the resulting screen. Then do File/Start Encoding. Wait a couple of minutes for the conversion to complete. Then save and import the converted clip into iMovie.
Manually bring the audio and video in sync
All else failing, try doing a Modify/Detach Audio in iMovie, and then manually adjusting the position of the resulting audio clip to bring it in sync with the video. You can just expand out your timeline with the slider located above and to the right of the timeline, and then manually use your cursor to drag the audio clip slightly left until it syncs up. A trick for precise frame by frame movement of the audio clip is to select the audio clip and then, while holding down the option key, tap the < key to move the audio clip to the left one frame at a time. (Unfortunately, the procedure does not work to move the clip to the right with the > key.) It only works to the left.
If you are still finding the audio out of sync, try varying the speed of either the audio clip or the video clip. Control-click on the audio clip (or video clip) and, from the drop down menu click on Show Speed Editor. That will reveal a slider in the top right of the clip. More the slider to the left slightly to shorten and speed up the clip. Move it to the right to lengthen and slow down the clip. Often that will bring the audio into sync.
-- Rich