Picked up a pair of Yamaha NS-5s for about $15, one of them had a shifted magnet. After looking at various forums online (including this thread) I eventually came up with this method using a 3d printed jig.


Modeled these in Tinkercad. The orange one has a lip inside for the magnet to sit on, the magnet is also a tight fit to prevent it from rotating (since the backplate was not perfectly concentric with it). The red one has 4 holes for meccano screws and nuts that allow you to adjust the position of the whole thing, and they screw into each other so you can slowly bring the magnet onto the back of the driver.
Here's a picture of it partially on the driver, I had not added the large rectangular notches on the orange piece so it was getting hard to turn:
And here is how the screws interface with whatever this part of the driver is called, not the most elegant but it seems to work:
Seating the magnet is a bit of a tedious process, since I could only go 1/6th of a turn or so before it started pinching the voice coil again and I had to readjust all the screws, but it's not too bad. I ended up cutting corners a bit and not even gluing the magnet, but the jig seems to be holding it in place just fine even after a few months and moving the speakers around a bunch. It also saved me when I was reassembling them because I got the surround on slightly wonky and the coil was rubbing; just had to take the driver out and fiddle with the screws a little. And I'm no audiophile, but I think they both sound pretty good now!
Anyway, just thought I'd share since I think this is a new method for fixing this issue. Now I'm looking around for more speakers with shifted magnets, partly to film the process and maybe make a tutorial, but also because it seems like a good way to get nice speakers cheap!