I just wanted to know if the location of programs does in any way affect the security of my system. Does it make sense to put network related stuff in my homedirectory or is this unnecessary paranoia?
Here's my take on it. If a system service (a "daemon" or serving application) is run it becomes a process. The process is started from the root account user and then run under a specific user. The root account allows for instance the process to be bound to a port below 1024, and the transfer to the user account ("drop rights") gives the process limited rights (as in access to system resources). While daemons start out as a root-owned process, they should not continue running as root-owned process. This goes for TOR, Privoxy, SSH, Apache, and all the other daemons. Make sure the service is not configured with insecure settings and network (public) access is restricted using your firewall and the configuration options. To limit rights further the process can be run under SELinux, RBAC or within a "jail" or "chroot".
If you run an application from your own user account it also becomes a process, but since the process is started by your user the process already has limited rights (OK, except setuid stuff, nevermind here). This is the way your run apps from your console or "desktop" like pine, OpenOffice.org and all the other user applications. Network access can be restricted by the systems firewall. Process rights can be limited further if the system runs SELinux or RBAC.
So, in short: the location is not the most important (except for managability and FSSTND or FHS compliance), but how it is configured to run and who runs it. Running a system service (TOR, Privoxy) from your own user account is not necessary if the system is properly configured, and running user applications from the root user account should not happen (at all unless configuring things requires so).