As you have found, iMovie randomly selects the thumbnail. No function exists in the app to custom set it.
The thumbnail can be changed on a shared movie from the finder, or from the Photos app, or even in a third party website like You Tube. However, all of these methods only change the thumbnail within the app itself, so that the change does not carry over to other apps.
I would suggest trying two things:
First, trim off a few frames from the beginning of the movie in iMovie and then share out. See if you get a thumbnail other than a black one.
If the above doesn't work, open your shared movie file in QuickTimePlayer and do a View/Show clips. You will get a ribbon display of the clips across the bottom of the screen. See if you see a black frame at the beginning of the movie clip display that looks like this:
If you see the black frames, select all of the clips by clicking on the ribbon display so that it is outlined in yellow like in the above screen shot. Then drag the vertical red marker just past where the black frame ends as in the above screen shot. Then do an Edit/Split Clip to separate the black frames from the rest of the movie. Select the split off black frames and delete them. It should look like this, with the black frames missing.
Click "Done" at the right of the screen. Then export the movie to your desktop. See if you get a thumbnail that is not a black frame.
I found that I got a displayed thumbnail other than black that I was able to import into the Keynote app. The thumbnail carried over.
-- Rich