This should be a rather short article on SEO. It's going to be short because SEO really hasn't changed a lot in the years and years that the discipline has been around.
While it's true there are more SEO consultancies around now than you can shake a stick at (why you would shake this stick, I don't know), the truth is that most of them charge exorbitant fees to tell you one thing: Write more content. This famous phrase of course is usually used to say, "Content is King". In other words, quit pouring money into a consultant, and get yourself a writer.
The more you write, the more information search engines will have about your website and what you're trying to do, and at the end of the day, that's what the search engines need. How many users would love Google or any of its competitors if it spit out garbage results? The service of the engines exists solely in their ability to give people what they want. If you have bad natural search rankings, it's either because you don't have what the people want yet, or the search engines don't know that you do.
There are of course some technical aspects to SEO, but unless you're publishing to a blog that runs fully off of Flash and AJAX with a robots.txt file set to turn away all the engines, you should probably focus on your content first.
That's it. Start writing about things that people want to hear about. Don't worry about position 1, or even 2 on any SERP right now, just make something worth while.