This is pretty much the only reproducible solution. Investing in personal brand and networking can bring in remote contracts. Remote still consumes all your energy but it avoids a lot of the unpleasantness of being on contract.
I had some remote contracts as well. All in all, I prefer to move and work at the company's office. Remote software development is IMO much harder and less attractive that the in-person variant, so I prefer the hassle of a move.