I think you can easily set Bcc in Marketing Automation only for Transactional emails via email template, not for the marketing emails. And the main issue why it's not firing the event you're hooking into is because marketing (also known as "newsletter") emails are sent via slightly different routine without creating EmailInfo object. You can reverse engineer how it works if you look at the CMS.Newsletters.SendNewsletterIssueAction class.
Now, the easiest way to implement what you need would be to hook into actual emal sending part by implementing custom email provider. However there you'd only have email message itself without clear distinction where this email was generated from (could be account emails, ecommerce, newsletters, transactional, etc). Otherwise, you'd probably need to implement your own custom marketing automation action that will suffice your needs.