One thing that I do (adapted from a trick my friend Paul Jin showed me) is use the following code block instead of just loading/requiring packages. This ensures that whenever I require a package it will be downloaded from the appropriate cran mirror if it is not already installed.
#load (and install if needed) a new package
if(!(pack %in% row.names(installed.packages())))
install.packages(pack, repos=repositories, dependencies=T)
This assumes that you have write permission on the package directory. If you do not then you can remove the update.packages line and just keep your packages up to date through other means.