You can use Dropbox for sure, but you might also want to check SugarSync since it allows the option of sharing ANY file on your computer with any other device (and is also accessible online on their website).
My structure is like this:
I have a sugarsynced folder "school" where I have my LaTeX files (and pdf's) and R files that are shared. I make my homework, and in class I usually read my pdf's from my phone. Everything syncs automatically.
For my Emacs files, I use Dropbox: the good thing is that at other computers you can just make sure it looks exactly at the same folders.
You generally would like a structure as:
.../Dropbox/Emacs/.emacs
In my .emacs, you define all load-paths and requires, such as:
(let ((base "/Username/Dropbox/emacs/.emacs.d/"))
(add-to-list 'load-path base)
(dolist (f (directory-files base))
(let ((name (concat base "/" f)))
(when (and (file-directory-p name)
(not (equal f ".."))
(not (equal f ".")))
(add-to-list 'load-path name)))))
You should also set a customization file:
(setq custom-file "/path-to-dropbox/.emacs.d/emacs-custom.el")
(load custom-file)
and store backups in a folder:
(setq backup-directory-alist '(("." . "/path-to-dropbox/.emacs.d/backups")))
I would suggest such a structure:
emacs-display.el (any visual stuff)
macros.el
misc-functions.el
external-plugins.el (file for loading external packages and adjusts settings)
keybindings.el (all your keybbindings)
You also set mode association for loading your personal file, for example for LaTeX:
(eval-after-load 'latex '(load "/path-to-dropbox/.emacs.d/personal-emacs-latex"))
In this you can put all the customization for whenever you are using LaTeX.
.../Dropbox/Emacs/.emacs.d
In this folder the actual files stored. It becomes really easy to remove something when it wouldn't work for whatever reason.