Somewhat correct, but it sounds like you're only writing for search engines, not the users that read the content. Google's Panda update changed a lot in terms of the website ranking algorithm. They place a lot of emphasis on user experience now. Using cookie-cutter techniques won't work anymore.
You're right about writing the title of the article to match your keywords, but you also need to make sure that your title captures people's interests, otherwise nobody is going to click on your link and nobody is going to spread your content.
My best advice for keyword density is to write an article how you would like to read it. Using 3 or 4 keywords in content that is only 50 words long is a mistake, because your keyword density percentage would be at 6-8% which is considered to be on the high side and might be viewed as keyword stuffing. Don't bold, highlight and underline a keyword that many times in your first paragraph, very rarely does that make sense.
Be careful when using header tags, using the H1 tag more than once can end up hurting you. The H1 tag is supposed to be what the entire page is about. Having two H1 headers means your content should probably be split in to two pages.
Absolutely add alt tags to your images, Google really likes that, but you can link back to your site multiple times, depending on who you're writing the article for, just use different keywords as the anchor text for each link.
Despite the amount of work you've put in to optimizing your content using the information from this post, you're SEO score is far from 99%, it's more like 30%. You'll get it with time though, don't give up.