Not even Final Cut can directly edit h264 very well, but as you said both programs at least support an intermediate codec/internal editing format (Apple Intermediate Codec respectively ProRes). It costs time during import, but at least lets you do your editing properly. OpenShot doesn't provide this solution, at least not out of the box. The only 'real' intermediate codec available for Linux is DNxHD, an AVID codec, which is supported in ffmpeg and Cinelerra-CV. But unfortunately, DNxHD is still too slow for playback in the time line (if I take my 2.5 GHz QuadCore machine as a reference).
A viable workaround for HD video, and OpenShot, is to first transcode to HDV (high definition MPEG-2) or to high quality MJPEG using for example the command line "ffmpeg -qmin 1.0 -qmax 1.0 -i <input_file> -vcodec mjpeg -acodec pcm_s16be <output_file.mov>". Both have comparatively moderate performance requirements. Still, working on a fast Dual Core or Quad Core machine under 64bit Linux is a good idea.
Otherwise, you could transcode your video to MPEG/MJPEG with very low bitrates (but the same resolution), edit, quit OpenShot, swap the files with high quality files that have identical file names, reopen OpenShot and render your edit. (This is what is called "proxy editing".
The only Linux video editor that internally supports editing proxies is the Sequencer of Blender. I confess that I have been too intimidated by Blender's interface to use it productively (although I have used Cinelerra quite a bit...) so, yes, my comments on Linux video editing might have a big blind spot.