so how would ou counter
With anything possessing guns with range greater than the D-cannon's.
Things such as:
A sniper scout/devestator marine list
(Librarian, two units of sniper scouts with camo cloaks and heavy bolters, and two units of devestators with four missile launchers and four heavy bolters)
A Tau list with twenty four firewarriors and a bunch of battlesuits
A deathwing list consisting of Belial, ten terminators, and two cyclone missile launchers
Damn near any Dark Eldar list that makes use of true-born, a ravager, venoms, or kabalite warriors with heavy weapons
A marine (loyal or chaos) list that makes use of a vindicator, or a hellfire dreadnought, a thunderfirecannon, landspeeders or a defiler; all of those will give that list of yours trouble.
And then of course, as Sethis said, any list that brings a flier
Yeah the D-cannons are deadly, but only if you can get the guns in range; and against an enemy that has longer range, that means you need to go to them and put those flimsy guardians out of cover.