I disagree. Terrain is just as good for us as it is for any 'nids army. I have yet to lose to any Tyranids army -- from almost all 'stealers to hordes to 'nidzilla. Honestly, the "typical" DH army -- based around a solid core of Grey Knights -- has seriously unfair advantages over almost any 'nids army. So much so that given two players of equal skill, the DH player should win virtually every engagement between them.
We can solidly outshoot the 'nids. They have almost no AP3/AP2 weaponry available at all, so we can just sit back and shoot all day if we like. And in close combat, again, overall, we are superior. They can't beat us either at shooting or assaults, so it kinda sucks for 'em.
GKs are every bit a match for hive tyrands and carnifexes. Carnifexes in particular rarely survive the opening round against a squad of GKs (or an eversor assassin, for that matter :ninja
because his I is too low. And if you allow yourself to be assaulted in cover by the tyrant, it's pretty much hosed as well. Those monsters should not survive more than two rounds in assault with your GKs, ever.
In fact, provided you're willing to stay in cover, the I advantage the tricked out 'nid combatant units have (e.g., warriors, 'stealers, tyrants, raveners) is entirely eliminated. You make them come to you, thin them down with stormbolter fire while they're forced to approach, and by the time they are able to assault you, you'll clean them up right quick.
As for the hordeish units (e.g., gaunts, gargoyles), I can't tell you how many 'nid players have been surprised when their 20-model squad of gaunts is thrashed inside of a combat round or two by just 6-8 of my GKs. The only thing we have to fear from them is getting involved in a lengthy, protracted close combat. Not because we'll ever lose, but only because it stops us from shooting. We do require our stormbolters to carry the day for us. If the 'nids can somehow prevent us from shooting too much, they have a slim shot.
-----
A quality 'cron general can be tough, but if he brings even a single monolith or C'Tan, the game should be in the bag. I've lost to 'crons only rarely (just 3 or 4 games), but those losses were only to pure infantry, almost 100% "Necron" model armies. Every unpure 'cron army I've faced has been forced to phase out, sometimes as early as turn 3.
Monoliths are tough and annoying, but 'cron players always use 'em to get their warriors in rapid fire range. Which can hurt, but is no worse than marines and bolters. Survive that, and then assault them where you cut them down. Monoliths cost so much that you can kill fewer 'crons to reach phase-out. Phase-out is
always the goal against 'crons. This is the only opponent where I never ever pay attention to mission objectives. Just focus on killing Necron models and
only Necron models, one squad at a time (to avoid them getting WBB rolls) and you should win.
If you stick to this strategy, the only serious threat to you is destroyers. Left alone, they will singlehandedly take you apart. Make sure you kill them off ASAP. 2nd most deadly unit is immortals. They cost only a fraction more than GKs but are, in many ways, better. They're only weakness is their lower I compared to GKs. If you can't manage to shoot them down, then get into assault with them at the earliest opportunity. Once you've eliminated the destroyers and immortals, the game is in the bag, as you can outshoot the rest of the army at range, and out-assault them as well.
Just as with the 'nids, the 'crons are poorly suited to fight against us. Their strengths are actually our strengths as well, only we've got 'em better than they do.