yeah i also do something similar and i normally get the best results from directly contacting people via telephone, asking them for there email address and website and giving them a free listing to start with then email them and ask them for an enhanced listing, best thing to do is if your going to call them heavily discount them over the phone if they dont seem that interested, atleast try and get a small sale out of them for the sake of your call.
Try to email as many people as you can per day, its like when i work out i always try to do as many reps as i can untill i cant call any more, same with telephone leads set aside 1-2 days per week 9-5 maybe and between the hours of 12-2 just try call lead after lead and try get sales, if you can manage a decent % of even small sales you'll do great
I would email potential prospects and give them the opportunity to maybe get '3 months for the price of 1' just something that sounds awesome but isnt really that good but just sell it too them like its the best thing in the world, tell them that by having a link on your site with a review about there business will increase there search rankings etc.. Tell them that you'll tweet it out, share it on facebook, pinterest, linkedin and google+ etc.. If they buy featured listing, tell them you'll help them rank locally etc.. and just try and rank your site for like 'musicians in xx town' / 'lawyers in xx town' / 'web designers in xx town' etc.... when your ranking on the first page for these keywords its easier too sell too customers i found anyway
i would recommend adsense and affiliates though even just have them + private ad sales and featured listings
good luck