What distribution of ICE should I have in my deck?
This is more of a 'How I pick my ICE/General ideas' than anything else, but here goes:

Generally, corp decks will run anywhere between 1/3 to 1/2 of their deck as ICE (most decks landing somewhere in the middle). When I build decks my starting point is 18 ICE out of 49 cards with 6 of each type. That's basically my boilerplate average deck idea. Then that'll change depending on which corp I'm building. In faction, here's what you're looking at for ICE:


Haas lacks an early game barrier and a late game code gate but is pretty solid everywhere else.
Jinteki has a late game barrier [Wall of Thorns] and...yeah. A fair amount of early game ICE but none of it has stopping power.
NBN has a good barrier [TMI] (as long as the trace succeeds the first time), a good sentry [Data Raven], and a great code gate [Tollbooth]. 
Weyland's ICE is cool in that you can advance a number of them to increase their strength [Shadow, Ice Wall, Hadrian's Wall], so early game ICE is potentially useful later as well, but completely lacks code gate ICE.
The neutrals Wall of Static, Enigma, and Chimera are all useful early game ICE as well.


Generally I try to have an early game and late game (ie. cheap/expensive) ICE of each of the three types, but I think early game ICE are more important. Tollbooth doesn't do you any good if it's your only code gate and you can't get it on the table. And a single Wall of Static can work wonders if the runner just isn't pulling t[heir barrier breaker. Chimera is a really good piece of ICE early game as it's whatever you need, but can get expensive quickly.

You can cover for the various ICE deficiencies inherent in corps by adding in neutral cards and pulling from other corps. Not having ICE of a specific type will hurt since the runner no longer has to care about playing one of their icebreakers. Tollbooth is a popular code gate to pull in, and Archer is a popular sentry if you think you've got the ability to sacrifice an agenda (NBN) or stand a good chance of rezzing it for free (Haas). 

Other than that, you can play to your corp's strength/keep their weaknesses in mind! 


NBN loves traces and tags but remember that all the traces in the world won't help if you can't stop the run &amp; the runner removes the tag before your turn
Haas has a good economy and strong ICE, but bioroids can be bypassed very easily by runners with extra time on their hands. E3 Feedback is your worst enemy. A single bioroid on a server is significantly less dangerous than three bioroids on one server. 
Weyland also has a good economy, but needs to spend a lot of time to bump up their early game ICE, if that's the route you're going.
Jinteki has a weaker economy and a more tricksy playstyle, so it's hard to give more definitive advice other than cheap ICE is your friend.


You can also take a look at what it takes for the various runner to break through ICE and compare that to a particular piece of ICE's cost, but that's less helpful since runners can pull icebreakers from each other to mitigate weaknesses.


Anarchs: Hard to analyze. Either they can get through for very cheap/free (using Ice Carver + Datasucker + Parasite) or they can't get through at all. 
Criminals: Have to bump up strength in >1 increments and have the only breakers that cost 2 credits to break 1 subroutine. So consider what levels of strength could be most inconvenient. ie. A strength 1 Draco is just as annoying as a strength 5 Draco to Ninja. Ninja is arguably the best sentry breaker in the game.
Shapers: Pretty balanced, especially with Personal Touch and Modded. Gordian Blade is a great Code Gate breaker.


So as an example, if I were building a Weyland deck I know I'll have easy money, so I'd pull in my big hitters [Archer, Hadrian's Wall, Tollbooth]. These also cover the three types pretty well for late game play. After that I'd pull in Chimera since Weyland can feed it pretty easily. I wouldn't really care about having another Code Gate since Enigma is pretty weak and I'd personally prefer to spend the influence somewhere else rather than pulling in Viktor or Viper. For remaining sentries I'd want to avoid relying on traces since I'm already looking at spending most of my money in other places. Maybe a Data Raven. Possibly a Shadow or Caduceus if I think the runner would let me get money from those subroutines. Wall of Static is my go-to barrier, so that would get included easy. At this point I'm sitting on 16 pieces of ICE (assuming you don't have multiple base boxes) and would probably include one more 'thing' that would totally vary depending on how I'm feeling. Probably some piece of ICE that's cheaper for me to rez than it is for them to break once.

But this is all just my .02! I've never won any tournaments, etc. etc. but hopefully that'll give you some idea of what goes through other people's heads when building decks.