So you're saying that three addresses would all point to the same page:
Indeed, that's how it works. "maindomain.com/seconddomain/page.html" won't work if you choose to use a folder outside "public_html".
Is a 301 redirect the best way to deal with these, or is there a better way using mod_rewrite?
I imagine there might be a better/more proper way, but this is what worked fine for my purposes. I'm sure that this is a very common concern and several solutions can be found with a Google search.
I've had a recent situation where i've had to move from shared hosting because of other sites either having huge bandwidth requirements or just for whatever reason those other sites affecting my performance to the point of downtime
That's just a sign of poor quality shared hosting (i.e. a host not doing its job right), not a reason to avoid shared hosting in general.