Better CQC?
Better zoning game?
Does Shang need to morph?
CQC is close, but Mileena has the edge. In terms of normal moves, Shang has better jabs, cross-over kicks, and hop-kicks to shut off escape attempts, but Mileena has the better sweep, and a better ducking low kick to help her escape Shang's rushdown. The roll is the trump card that give's Mileena the advantage up close. It forces Shang to block in situations where he might not otherwise have to, allowing Mileena to either escape and reset or initiate her own rushdown and/or zoning tactics.
The sweep game is a significant one in this battle. Shang's is a hair faster, but Mileena's has MUCH more range. If he lands a sweep, his follow up attacks are a bit limited; he can try for another sweep, he can try to cross her up, he can walk in for jabs, or he can pretend to walk in for jabs and then sweep again if her finger comes off the block button. All are somewhat predictable and no single option affords him major damage (which comes mostly off of keeping the pressure on and keeping the rushdown going for as long as possible).
If she lands a sweep, however, she has much better options. Like Shang, she can try for another sweep, she can try to cross him up, she can come in for jabs, or she can pretend to come in for jabs and then sweep again. The latter is a lot easier for her to pull off because she has a less awkward walk animation. Normally, Shang would easily be able to duck under her jabs, but there's that GODDAMN ROLL again. FUCK. The threat of an easy 30-40% combo forces Shang to block, which means he will usually have to eat chip damage on those goddamn jabs that he would otherwise be able to simply duck under, time, and counterattack. She can also use this to set up her zone tactics, which leads us to...
The zoning game, which is pretty even IMO. Again, Mileena's roll keeps him honest, as do sweeps, which is where many Shang players will try to zone you. Shang's quick sweeps (especially if she whiffs one just out of range, he has an easy counter), hop kicks, standing HK for anti-air, and fireballs all come in handy. In particular, the hop kicks and anti air fireballs force Mileena to be smart about how and when she throws out those air sais. From a distance perspective, Shang is best served to zone just out of sweep distance. This makes his jump kicks harder to anti-air uppercut, gives him a fighting chance at blocking a roll off a reaction in a clean connection, and gives him a good space to catch her with anti-air fireballs if she tries to jump. Mileena has two nifty zones; 1. at the edge of her sweep distance, which is just outside of Shang's and sets up a variety of attacks that he will have difficulty countering, and 2. just outside half screen, where she can more safely make choices about when to throw air sais as well as easily aa-uppercut jump in attempts.
Shang's
morphs are a double edged sword. Without the morphs, Shang's game can become pretty predictable, but if he morphs unwisely, he can be easily countered during the startup animation (especially if Mileena is zoning from closer than half screen). Even if he does morph wisely, he's still at risk of getting caught in that ridiculous morph-back jab inifinite. I've been caught in that exactly twice the whole time I've been playing this game, the honors go to KanoMK2 and mortal_jason. Sometimes it becomes necessary to morph just to throw Mileena off her game plan and force her to play differently. Your best options to morph are Mileena, Raiden, Lao, Liu, and Jax. All radically change your strategy as well as hers, but as long as you're making her uncomfortable, you're doing something right. Try to limit morphing to when you have her in escape mode or while she's turtling with a life lead.
Jason mentioned already that, while Shang has the second best jump kick in the game, he has to be careful about jumping in on Mileena because she has aa-uppercuts all day long. It's worth noting that, while those female ninja aa-uppercuts are nassssty, they don't have as wide a collision box as, say, Liu's, so you can throw off her timing by altering where you are jumping from. Shang jump kicks are the easiest to uppercut from just outside half screen distance. Just inside half screen fucks up her timing royally, and most times she's resort to either blocking (which gives you a chance at rushing down) or ducking low kick underneath it, which is a risky strategy that doesn't always work. Use this to your advantage.
One other advantage Shang has that is rarely mentioned is his SUJK. That thing is nasty, the second best in the game behind Cage. Like Cage, Shang can snuff out Mileena's jump kicks, jump punches, SUJK, close air sais, and teleport kicks with it. However, also like Cage, it's difficult to execute off reaction and is generally done via anticipation, which also attaches a lot of risk. A bad SUJK with get you sais in the face if you're lucky, or a roll-jk-sais if you're not. Use wisely to throw her off her game, but don't abuse.
In general, I agree with most of Jason's points on this matchup, although I think it's closer to 6.5-3.5 than to 8-2.