If you create a folder on your local machine for local content, you can organize it the same way your wp-content folder is organized, and add content to that local folder first before uploading it to WordPress, you don't need to download that entire folder. In essence, you have backed it up before you have even uploaded it.
At this point, you only need to worry about backing up your database, which is fairly easy via PHPMyAdmin.
BTW, there is no "best" way for something like this, as everybody's installation is unique. You have to go with what works for you.