Make sure that Notification Area is an item in Panel Preferences; the icon will be shown in Notification Area.
Run the following in terminal:
dropbox stop && dbus-launch dropbox start
Then right-click the Dropbox icon, and click "Preferences...". Disable "Start Dropbox on system startup".
If you use saved sessions, make sure dropbox is not an item in them: Start the session, run dropbox stop
and thereafter save the session.
Create an init script for dropbox by running this once in terminal as regular:
echo 'description "Dropbox"
start on desktop-start
expect daemon
exec env DBUS_SESSION_BUS_ADDRESS= dropbox start -i' >"${XDG_CONFIG_HOME-$HOME/.config}/upstart/dropbox.conf"
Note: In 12.04 you have to store the file in "$HOME/.init", instead. In 14.04 the directory is deprecated. See Upstart documentation.
Note: env DBUS_SESSION_BUS_ADDRESS=
could be replaced by dbus-launch
in the above.
Now you can start dropbox by
start dropbox
Then icon should be visible.
The service will be started automatically after next login. The init script starts dropbox in such a way that it is invisible to the session manager and will not be saved in sessions thereafter.
I tested it in 14.04 (that uses Upstart) and 16.04 (that uses systemd). Updating dropbox should not break this fix like it does with some other solutions.
I got some of the ideas from this answer. There is some background information in that answer.