First, what are the settings on your Go PRo? e.g. 1920x1080, 1920x1440, 30fps, 60 fps, etc.?
I don't have a GoPro, but I would think that this issue may be caused by two factors.
1) I think you are right when you say that clip length is the culprit rather than event size. When you have a single large clip, it has to be in memory all at the same time and can tax the resources of your Mac. This is usually not a problem, because a new clip is created every time you hit the record button on your camera. For most home video applications, you would hit record and make a clip that is anywhere from 5 seconds to 5 minutes long. If you were recording a sporting event, you might want a single 2 hour clip. In this case, you would get better performance by hitting the record button at the start of every quarter, for example.
You may have good reasons to not want to stop recording, but if you hit the record button from time to time that will help.
If you truly need these 4GB clips without hitting the record button, then I would suggest that you non-destructively chop them into smaller clips. You can do this in a free app called MPEG Streamclip. Let's say you have a long clip and you can divide it into 8 shorter clips, but you don't want to lose any frames. (8 is an arbitrary number - you can make as many smaller clips as you want.)
Drag the long clip into MPEG Streamclip and set the playhead at the beginning of the 1st clip. Type i to set the In Point. Move the Playhead to the end of the first (of 8) clips, and type o for Out Point. Then use FILE/EXPORT TO QUICKTIME and choose Apple Intermediate Codec for your codec. (For why AIC, see below). After it exports, your playhead should still be on the out point of the first clip. This should now become the in point of the second clip, so type i before moving the playhead again. (This way you will not risk missing a frame). Move the playhead to the end of the second clip and type o. Then export again. Repeat until you have all 8.
After you are done, open iMovie and use FILE/IMPORT MOVIE... to import these new clips.
2) I would suggest that you get a large external drive - at least 2GB. Maybe multiple drives. The reason is that you really dont want to edit in h.264, which your GoPro shoots. You want to convert the clips to Apple Intermediate Codec for editing. When you do this, the clips will be about 10x bigger than they were on the camera.
For why this is the case, see this User Tip that I wrote up, and substitute h.264 every time you see AVCHD.
You can either do this conversion in MPEG Streamclip as your chop up your clips. Or you can do it in iMovie. On the iMovie Import Screen, it should offer to optimize your clips. Choose Optimize - Full Size, and it will convert to Apple Intermediate Codec. You can also right click in the gray background of your Event in iMovie and select Optimize, and it will do the same thing.
3) If you are shooting 50P or 60P at sizes larger than 720P, that can present challenges for importing to iMovie, although once in iMovie it seems to handle it OK. This would be the case if you were planning to use high quality slow motion, for example. I haven't played with it enough (at all) to walk you through it.
That is my $.02. I hope people with a GoPro will join in and share their experiences.