After I add code and it moves my breakpoints, I can hit Stop Debugging, Reattach to Unity and my breakpoints go back to where they were.
I do not know of another solution to this. It's got something to do with Unity recompiling code and getting the breakpoints desynchronized.