I wrote an icon save restore program using Jeffrey Richter's code adapted as a shell extension about 10 years ago. Anyway, after messing around with desktop icons for years, I've come to the conclusion life is much easier if you don't use them. Sure as a temporary you might save an image or download to the desktop. But to leave your icons there for running your favorite programs is more hassle that it's worth.
I find it far better to have folders of shortcuts categorized by task. Just back up the folder someplace. If it gets messed up or deleted you can just copy it back. I copy a custom icon for each folder to RocketDock but you can use another launcher or even use the folder itself as a toolbar on the Taskbar. How it works depends on which version of Windows you are running.
As you can see by my screen shot, the only stuff I have on my desktop is RocketDock and the blue square is just s drop target for Free Download Manager. The transparent segmented window on the left edge is RocketDock if you're not familiar with that launcher.
Some of the icons in the Taskbar are actually stacks from free program Stand Alone Stacks 2. You click a stack and it opens to a bunch of shortcuts. Again I have categories such as editors, internet programs, hotkey programs etc..
I have the folder that contains the categorized folders hidden away in Documents. Out of the way it's not likely to be deleted. Also any custom icons for shortcuts I store in an Icons folder in Documents, neatly out of the way.