Quite an effective method (depending on the site I suppose) is to use Yahoo siteexplorer to see what sites are linking to your competitors websites. If they are directories / sites of a similar nature that you could get a link from, this works quite well in some cases.
Directory submission is probably the easiest but as you say sometimes doesn't give great results.
Personally I think blog commenting is best - especially if you can find blogs on authority sites!