Is there a reliable way to determine what minifigure is in a LEGO Minifigures series package?
It can be done, but you need to be able to handle the packages.  Different minifigure series may require different approaches, from barcodes to patterns of dots or dimples to feeling for certain characteristic parts in the bags.  Those approaches have been documented in a number of places:


Series 6 (feel + dots)
Series 5 (feel)
Series 4 (bumps)
Series 3 (dots)
Series 2 (barcode)
Series 1 (barcode)


Also, since every box has a set quantity of each minifig, if you buy a full unopened box of 60, you will get a full set of the minifigs.  (More than one set in fact, but you'd have to look at the per-box quantities to see if it's 2 or 3.)