How do I calculate expected earnings when mining a cryptocurrency? If I have access to currency-specific variables/datasets for any cryptocurrency of choice (see below), how would I calculate which cryptocurrency (out of a fixed set of say 3-5 altcoins -- SHA-256 and Scrypt only) would be most profitable to mine at a given time?

Given: difficulty, hash rate (network), block count, block time, block reward, exchange rate, and exchange volume.

To be more specific, I'm wondering what math would go into calculating Expected Earnings/(MH/sec) for each cryptocurrency with this data? I'm not not necessarily asking for something like http://www.coinwarz.com/cryptocurrency/ that takes your own device's hash rate and power consumption:power cost ratio to determine individual profitability, I'm talking about a general calculation where the output is in the units 'Expected Earnings/(MH/sec)'

(I'm not sure how complicated a calculation like this is, so I'm not asking for exact math or anything just where/how to start with a problem like this)
Calculate your share of the network hash rate for that particular hash algorithm (your hash rate divided by the network hash rate), let that be HR.

Calculate the emission by unit of time (block reward times 86400 divided by block time in seconds), let that be E.

Calculate your expected average coins mined in a day (HR times E), let that be C. Note that variance will be high, unless you mine on a large pool, or have a large HR.

Calculate the price in the coin you want to convert to (C divided by exchange rate, or C times exchange rate, depending on whether it's expressed by altcoin per bitcoin, or bitcoin per altcoin, respectively).

If you want per second, or per MH, scale accordingly.