After convincing myself that running in place had some merit I decided to take things a bit further. I had an idea for this that involved recording the most recent X frames and averaging them, then spent the day at the Boston VR Devs December Hackathon working on it. Unfortunately it ended up being kind of garbage so I scrapped it.
I figured there had to be more examples of people trying it in the past so searched a bit more and came across this EVILMECH RUNNER! demo video featuring exactly this mechanic (being demonstrated by the host of one of my favorite podcasts).
Fortunately for me the creator is great and had the code shared complete with a Unity sample project. I tried it out and it was definitely better than what I had so far, but it wasn't quite what I had in mind.
He had resolved some of the issues I was having (rotation of the head being recognized as movement), but there was some stuff I had gotten better like moving based on both up and down as well as limiting the range and force (using an AnimationCurve), so I merged the two.
Once I had it in a state I was happy with I wanted to have an environment, so I plucked Maze Generator from the Unity Asset Store (which saved me a lot of time) and set off looking for those coins! (which does nothing)
At this point there were still some issues with it that I figured I could remove with a bit of tuning, but did some more thinking and believe I have an even better way, so am working on that now.
Meanwhile, I let some people try it at the most recent Boston VR Vive Hackathon
and it seems like they liked it. Definitely needs some work, and I don't think it will be perfect for every application, but it will at least work for Score!