I use a little VB script to just move the icons to each user's desktop instead of to the Public one. I'm sure there's a better way to get each user's name, but I just hardcoded it. It will still put icons on each user's profile, but at least each person can choose whether or not they have it.
Copy the following into Notepad and save to your desktop as a ".vbs" file. Change the Users to match the Users of the computer. And change the "dim User(4)" line to be the number of users you have. If you put yourself as User(1) it will open your Desktop Folder after it copies the icons so you can delete any you don't want. When you have new icons just double click on it and they'll be moved out of the "Public" folder.
Dim ObjFso
Dim StrSourceLocation
Dim StrDestinationLocation
Dim StrSourceFileName
Dim StrDestinationFileName
dim objFileCopy
dim file
dim Users(4)
dim i
Dim SH, txtFolderToOpen
StrSourceLocation = "C:\Users\Public\Desktop"
Users(1) = "Brian"
Users(2) = "Danny"
Users(3) = "Cory"
Users(4) = "Jess"
on error Resume Next
for i = 1 to 4
StrDestinationLocation = "C:\Users\" & Users(i) & "\Desktop"
'All text files will be copied to destination
StrSourceFileName = "*.*"
'Creating the file system object
Set ObjFso = CreateObject("Scripting.FileSystemObject")
'Copying the file
ObjFso.CopyFile StrSourceLocation & "\" & StrSourceFileName, StrDestinationLocation & "\" , True
if err.Number <> 0 then
Msgbox "No files to move"
WScript.Quit
end if
Next
Set ObjFso = CreateObject("Scripting.FileSystemObject")
For Each file In ObjFso.GetFolder(StrSourceLocation).Files
file.delete
Next
Set SH = WScript.CreateObject("Shell.Application")
txtFolderToOpen = "C:\Users\" & users(1) & "\Desktop"
SH.Explore txtFolderToOpen
Set SH = Nothing