Also - make sure to vary the anchor text in the links. At least 5-10 different phrases. Your primary keyword could of course be in most of the phrases. Google could be a bit suspicious if you have a large percentage of links with exactly the same anchor text - it doesn't look like natural linking then (and that could lead to penalties...)
Building links through contents always better than web directories links. When you are exchanging links with someone try to exchange link on relevant content page which is most recently indexed in google.
what i feel is that Page rank has nothing to do with SERP . to get a decent SERP u have to fully concentrate on ur posts - get nice amount of ur targeted keywords in each of ur posts .
yeah... building links is essential... though such terms like hardgainer do not usually require much effort to get to the top..