First I would like to make it clear that I know crysis 1 did not have the best story, but it set up for an amazing sequel because there were just enough loose ends to be tied up. It was mysterious and unexplained in a good way. Crysis 2 seems to have totally thrown away those loose ends though. I'm not talking about loose ends about the characters, but the loose ends involving the aliens. Why wouldn't they explain what the aliens had done inside the three years between two games and why they didn't at least attempt to explain their change in appearance. They could have easily explained some of the science behind the aliens.
Things they could have done better with the story:
1. give us some opening credits thing like they do in mass effect that explains what has happened in between the two games
2. They could have easily put in audio tapes giving us backgrounds on the various characters we encounter throughout the games. They could have also used audiotapes of random soldiers or citizens explaining the situation from their point of view. Also some audiotapes talking about the events in the first game and the aliens
3. they should have given Alcatraz a voice. Conversation is a good tool for deepening a story. Half life 2 and bioshock used silent characters, but were able to pull it off by using the people around you and the environment to tell you the story.
4. Keep Alcatraz silent, but use characters for more than simple and boring conversation. They did this with gould, Hargreave, and the general (see i dont remember his name and i played the game yesterday) a little but not enough.
5....
6....
7....
I'm sure you guys can think of more