Yes, essentially I follow the same simple system. But to avoid adding each bin directory to the path, I create for each application an executable script in /usr/local/bin that performs an "exec /opt/package/bin/app-name $@". The only directory to add to the path is /usr/local/bin. Then, as you say, managing multiple application versions is as easy as repointing the symlink in /opt.
No need for package managers that do who knows what to your system.
The one exception is for shared libraries, which I build to /usr/local. That way 'make' can find them easily without fiddling with LDPATH.
Another option, for those using an apple Airport Base Station, is to activate the Timed Access control for your computer's MAC address. I, for instance, cut off my net access between 9am and 5pm on the weekend.