Bounces as in the email address not existing, the email program you write with the email address you show as the originating address in most hosts MUST exist.
The host I use for example has a mail box option that I have set to expire emails receive instantly as I am not expecting emails on that account, the account being no-reply@ type for my domain.
HTML vs TEXT, IMHO always use TEXT over HTML as HTML has been abused in the past hiding scripting and other hack attempts. So if you want to send HTML atleast have the recipient make the choice between plain text or Rich text (HTML) mails.
Avoiding bulk SPAM is a case of don't flood any one domain with mailings, if your going to BULK send, ask the domain about using the method that big ISP's use which is FTP them as a batch of files.
Send individual emails, avoid CC and BCC to ensure that recipients do not see other peoples email addresses. Most hosts put a limit on how many emails you can sent in time periods, mine imposes a maximum of 10 emails every 30 seconds or 100 per hour depending on traffic. So you may want to double check with the hosting company and think of using a CRON JOB in the server to run at off peak times to do a mail send.
Allot of what you really need to know can be answered by your web hosting company.