Short Answer: add /t to (i)cacls
Long answer:
Here is my script I use when I want the file to be accessible to any user. It includes comments on what each flag does. Just put this in a batch file somewhere in the %AppData% folder.
REM --v2 -----------------------------------------------------------
takeown /r /d y /f %1
icacls %1 /t /grant Everyone:F
REM takeown /r /d y /f will set the owner to the Administrators group recursively.
REM /t makes it recursive
REM /grant Sets the permision to the following user, replaces existing permissions for the specified uesr.
REM :f Grants full controll permission.
REM ----------------------------------------------------------------
REM --v1 -----------------------------------------------------------
REM cacls %1 /t /e /g Everyone:f
REM /t makes it recursive
REM /e Edits the ACL instead of replaceing it
REM /g Grants permissions to the following users
REM :f Grants full controll permission.
REM ----------------------------------------------------------------
Then in %AppData%\Microsoft\Windows\SendTo create a shortcut to the batch script.
Edit the properties of that shortcut and go to Advanced... and check the box Run as Administrator.

Now in your right click menu -> Send To you will have a item called Fix Permissions any file or folder you do a Send To on will have the Everyone group given Full Access permissions. If you perform it on a folder it will recursively go through it and apply the permissions to all of the children in the folder.
I save the batch file the %AppData% folder because I am on a domain and that makes it part of my roaming profile so it will be on and ready to use on any computer I connect to.