The only reliable solution I have heard for this problem is: make them in C++.
I know that’s not particularly helpful for a blueprint question, but it’s the best I’ve seen. I can say (as a C++ programmer) I’ve never encountered this particular problem with modifying structures. You’re not the first person to mention issues with blueprint structures.