I would go with this official shield:http://store.arduino.cc/index.php?main_page=product_info&cPath=37_5&products_id=146
Advantage over the sparkfun board:
1) Possibly cheaper if not around the same price
2) Has SD card slot (big plus for data logging etc.)
3) All arduino pins broken out with the solder holes, not half-ass broken out like sparkfun (A0-A5 etc no solder holes other than the stacking header)
4) This goes with 2: ICSP header! Works with mega on sd card. You can even replace it with a female stacking header to pass the header to the shield above, not like sparkfun's cheap version. Adafruit is equally cheap with their SD logger shield.
FYI, I own both arduino and sparkfun shields. I didn't bother to build the sparkfun shield (solder headers). Looked at it, nah. Back in the box. I also have tons of adafruit sd logger shields. Not the best in the world. Missing ICSP header makes it incompatible with newer boards, or limping with software SPI crap and can't stack other shields that need it.
The ebay shield is pretty crappy looking. It seems to have nothing on it (I don't have x-ray vision). At least the banggood stuff has some voltage regulator and level shifting.
For the hardware serial thing: bend shield pin 0 and 1, jump 0 and 1 to other pins you like to use, on top of the shield.
Attached, data logger I designed and built. Has Official wireless shield, xbee-pro 900, microSD card, my own SDI-12 Serial shield (green), and 20X4 LCD keypad panel. Got two soil sensors hooked up (system not powered).