I’ve come up with something a little closer to what I want, thanks in part to this post: Vehicle animation using x,y co ordinates and orientation
It’s a way to dynamically create loads of keyframes and randomize the timing between them. Ideally, I’d like to split this up between X, Y and Z so each axis behaves differently, but that’s for the next iteration. The “sway” of the camera still feels off for camera shake, I’ve tried different kinds of easing but still needs tweaking as well.
If anyone is able to do this more efficiently, I’m happy to hear it!