There's a nice paper showing the prevalence of questionable research practices. For example, more than 65% of researchers who participated admitted to not reporting all dependent measures: https://www.cmu.edu/dietrich/sds/docs/loewenstein/MeasPrevalQuestTruthTelling.pdf
Unfortunately, they didn't ask about p-hacking with things like multiple analyses. I don't think running multiple specifications is a problem, however, and I think it's quite natural to do so.
To give a personal example: I once recoded a three-level variable in an experimental study into a binary response, as I was primarily interested in a treatment effect on one of the responses. This was transparently disclosed in the paper. However, a reviewer asked that I instead do the analysis with multinomial logit as that was more appropriate, even if it comes at a cost of making the coefficients more difficult to interpret (given the importance of communicating results, I think this is something that needs to be given some weight as well: the target audience would not be familiar with multinomial logit). So I redid the analysis as requested and dropped the logit regressions from the paper.
It turned out that the results were now stronger than before, so this adjustment worked in my favor. Suppose I had realized on my own that multinomial logit was more appropriate prior to submission. Would that have been p-hacking?
Consider another (fictitious) example. Suppose I have a regression with repeated observations from each participant and my treatment effect is significant if I use random effects at the individual level, but does not reach significance if I use fixed effects (or vice versa). In many analyses, either could easily be defended -- which one is "correct?" It can't just be the one I happened to choose first. It's a bit like using AIC or BIC for model selection: sometimes, one suggests the model provides a better complexity-adjusted fit, while the other suggests it doesn't. I don't think one is inherently better than the other.
The solution is to ask for more robustness checks in the analysis. Instead of showing only a model with an interaction, for example, the model without an interaction could be shown next to it. (This is actually quite common in empirical economics, where the goal is to show that the result holds under many possible specifications -- and not necessarily that one has found the one true specification.)
Pre-registering research makes sense in medical trials that are pretty straight forward: Group A gets Treatment X, Group B gets Treatment Y, and we compare outcomes on some dimension. If we compared the groups on 30 possible outcome measures, we'd likely see a difference in one of them. That obviously cannot be sufficient to establish efficacy.
But social science research is much more iterative and just doesn't work in the same way. Moreover, most recent papers report multiple studies that back up a particular claim. While the effect may still not be real, there are so many other things that are likely to be more problematic than the model specification. For example, there has recently been some work on incentives for creativity -- e.g. do people become more creative when you pay them more. Imagine the hundreds of different ways you could define and measure "creativity" and the hundreds of settings you could test this in (individuals? groups?). All of those are judgment calls and we won't know what generalizes until there are a dozen of these experiments (ideally by many different researchers).
Harking, it seems to me, is at least in part the result of how journal articles are written. They are not meant to be chronological accounts of one's thoughts, exploratory analyses, and eventual conclusions. They have to succinctly place work in a broader literature and convey the contributions of the present work. It may well be that prior to running the experiment, two theories would have been equally plausible -- but after running the study, only one of those is reaffirmed. If so, it seems like a natural stylistic choice to set up the study using the theories that are consistent with the results, then note in the discussion that the findings go against other possible explanations. (Including alternatives that the researcher may not have thought of, but that a reviewer connected the study to.)