Thought I should add an update for posterity here. I solved the issue by replacing the HDD cable in the laptop. It's a known issue in this model of MacBook Pro that the cable rubs against the aluminium case, eventually becoming damaged, though the damage isn't visible to the eye. I was skeptical, as putting my old HDD in made the laptop run fine, but apparently the cable being damaged can manifest issues while using an SSD, while still working fine with a standard HDD, due to the higher flow of data through the cable I guess?
Anyway, the new cable has entirely resolved the issue, and I also put a strip of electrical tape down where the cable would make contact with the case, to hopefully prevent this from happening again.