Does anyone have some insight on the "correct" way of determine a unit's return at a specific difficulty. It sounds like you need to figure out how much higher the total network is compared to difficulty to know the additional % of blocks found. (uh.. its getting late and my brain hurts. I'm sure someone knows this answer before I start spitting out completely incorrect numbers)
The total network hash rate has nothing to do with how many blocks you will find or how likely you are to find one. It's just you against the difficulty. Each hash has the same chance of finding a block as any other hash. To calculate how long it will take you to find a block, and therefore how much you will earn, use the formula [time = difficulty * 2^32 / hashrate]. The time is in seconds and we are talking about Hashes/s not GH/s.
This only works directly if you are solo mining. Most people mine in pools, in which case, the pool has you submit hashes at a much easier difficulty just for the purposes of determining what rate you're hashing at. Once they know what your hash rate is, they can use this formula to determine how much you should earn per second/minute/hour for your efforts based on the probability of finding a block at your hash rate. Of course, pools have other calculations to prevent pool hopping but this is basically how you can guess at what you will make with your equipment.
This is the calculation:
Block Reward / (Difficulty*2^32) / (GH/1,000,000,000) * 60 Seconds = BTC Per Minute Per GH/s
25 / 218,228,744,511,017,000 / 0.000000001 * 60 = BTC Per Minute Per GH/s
So, at the current difficulty of 50,810,339 and a block reward of 25BTC you can expect to earn
~0.00000011455869416294 BTC per second per GH/s
~0.0000068735216497764 BTC per minute per GH/s
~0.000412411298986584 BTC per hour per GH/s
~0.00989787117567802 BTC per day per GH/s
not accounting for pool fees/pool luck/variance or other pool formulas.