A really good but expensive alternative would be running Citrix / Teamviewer / etc but then you would need two factor authentication and even then you would have the issue of full write access by the client operating system.
Good idea!
OP, have a computer somewhere that has your own Windows (or Linux, of course) on it, with RDP enabled and connect to that. Assuming your internet speed is good enough to make this comfortable.
On your home PC:
When using a public machine, assuming it's using Windows:
You now have a connection to your own computer, with all its documents and programs. Nothing will be saved on the public PC, except some image cache at most. The public PC isn't running programs, it only display the graphics it gets sent from your home PC and sends mouse/keyboard back to that machine.