Some of the apps I regularly use require root access, otherwise I'd be typing my password repeatedly. (for example, TunlrSwitcher would otherwise pop up a password prompt every time I try to change the DNS)

So I run these apps as root via terminal, but the sudo command obviously requires a password. This is a problem because I want these apps to run on boot without having to manually type in my password to launch them. Is there some way to do this? Windows has a few workarounds IIRC.

The recommended way of doing this is via launchd. You create a reverse-domain named .plist file following the specifications laid out in the launchd.plist man page. For example, I like to have my IRC bouncer to be running after booting my laptop without having to remember to login and start it. I created a file called com.electricsheep.znc.plist with the following contents:

The plist file was dropped into /Library/LaunchDaemons. From there, the system's launchd instance manages starting znc automatically, and making sure that its still running even if it exits abnormally.

The man page for launchd.plist outlines the options available for configuring launch agents and daemons.