What I do is keep a directory called /pub where I stash all sorts of stuff. Downloaded files, program source for stuff I'm compiling, etc. If you have multiple users, you can make it readable/writable by all users (or just certain groups). Works for my purposes anyway.
You can install software as a normal user if you want, but typically it means that only that user will be able to run the program. For a system-wide install, you usually have to be root.