Some great advice I've received is edit the master page as little as possible. The reason for this is twofold. First, it's not the easiest thing in the world to deploy a change, and it's hardly worth it for adding a single line, like a new stylesheet. And second, master pages have been famous for not surviving upgrades well.
Edit your master pages sparingly, and document your changes.
Therefore, a decent method for adding custom JS and CSS files is using the method I've linked above. And when you do so, just make sure you add it to the bottom of your
<head> section of your master page, so your files overwrite the inherent styles.
Finally, you'll notice I've not gone into detail about how to accomplish this. I assume you know how to edit the master page, and there are plenty of resources out there if you don't. Here's a good place to start.
Want to receive approximately one email every month with new articles, tools, and references I've discovered? Sign up below.