I have made tons of spinners and have dealt with what you are dealing with. As stated above the inertia of the blade will cause rotation. I put inline swivels on the eyes of all my spinners. This prevents line twist, but blade inertia will still cause the rest of the fly to rotate. To overcome the blade inertia, any weight you have added to the wire would have to be connected to wire. Just placing more brass beads or bodies on won't solve the issue because they are just riding on the wire and the blade inertia will rotate the wire and your hook. I have tried using a swivel at the back of lure that I attached a split ring to and the dressed hook. This did help, but the extra length and the new pivot points would allow the hook to tangle up with the spinner while casting. In short it somewhat solved one problem, but created another. Next I used EWG hooks with large plastics on the back that had a high profile along the length of the body. (example 3-4" shad type bait) These would rotate about 30-50 degrees to one side. It drove me nuts, but not the fish. To solve this, I bought EWG hooks that had lead weights molded onto the bottom of the hook. 1/8 oz. worked the best. Solved this problem but created the next, and that is now the spinner rode tail down. Solutions was to add more weight to the wire behind the spinner, now the spinner was heavy as hell!
One solution to overcome blade inertia is show in the photo below.
If you look at Mepps spinfly or other flies, they are tied so there is no right side up! They rotate and it doesn't matter because there is no top or bottom! Minus the solution shown in the photo, you are fighting a fight you can't win! Trust me, I have been through this battle!