If your system is stable right now and you won't be needing all those restore points from the past, it's quite easy to clean it all up.
- Make sure your Recycle Bin is empty. (very important and I'll explain why, later)
- Turn off System Restore.
- Reboot. (all the old crap will be automatically cleaned out)
- Turn on System Restore.
- Reboot again.
- Immediately set a new restore point.
Now, here is why I had you empty your Recycle Bin:
The reason why restore points fail is usually related to the contents of the Recycle Bin at the time the restore point was created vs. the contents when you try to roll back. If there were any files in there when the restore point was made but not in there when you try to restore, it will usually fail.
During the process of creating the snapshot, copies of various files & settings are made, and a listing of the contents of the Recycle Bin is recorded, but no backup of the actual contents is made.
It can't restore the Recycle Bin to the state it was if any of the files are missing, so it will fail, and since that has failed, it makes the whole restore point fail. It's an "all or none" type of thing, and System Restore will restore everything or nothing at all. If it get stuck on anything it just fails.
And that is why System Restore has always been seen as being unreliable and flaky.
So the solution is to set the restore points with an empty Recycle Bin, and to make your own restore points before installing any software or making any other sort of system changes, also setting them on a regular basis, "just in case". That way you can make sure that Recycle Bin is empty when you do it.
If you can rely on your own points and remember this rule, and avoid using the automatically generated ones, System Restore can be quite reliable.
The other solution is to always empty your Recycle Bin whenever there is anything in it, so the automatically created restore points will always be done with an empty Recycle Bin.