There is a ton of content on how to create html emails all over the web. The challenge is creating a single email that is compatible and looks good across multiple clients and platforms.
Succinctly in reply to your questions though:
Delete any <script> in an email template. Don't link to external stylesheets. Generally, spam filters don't like these in emails.
You can use CSS in the <head> tag. You should put what CSS you can inline as well for compatibility. There are a few email building frameworks which are complex in combining inline and media query CSS to deliver heightened compatibility and good looking emails.
Certain clients will ignore certain style rules, it all depends on how good you want your email to look and how perfectly you want your email to display across platforms and clients, it's going to be very hard to cater for everything.
Tables and inline CSS are used because they're a good compromise of simpleness and compatibility.
Google is your best friend to learn more about email templating.
developing for landing pages and developing for responsible, multi client email is such a different technique that I strongly recommend you do not try to take the LP code and make it a email template. It just cannot work.
The position of the CSS (that should be in the template itself) is just one on the problems. You should also get rid of any advanced CSS, all of the JS and inject all the code needed to support older email clients.
Far better to start from your graphical design and have an email template developer create that email template for you.