Range: The Moldvay paradigm gives a range of -3 to +3 for stats. The d20 paradigm widens that; it's -4 to +4. I'm actually going to assume for the sake of simplicity that you are using the d20 paradigm. However, if you prefer to use the Moldvay paradigm, you could convert all of the d8s below to d6s and get the same (or at least similar) results within the range you selected.
Totally Random Option: All stats start at a baseline of -4. Roll 3d8. This will give you a number between 3 and 24. Spend these points to increase your stats at a one to one ratio. You cannot increase any stat to a number higher than +4 (although racial modifiers might bring it up after stat generation.) For the Moldvay range, you start at -3 and roll 3d6, which gives you between 3-18 points to spend. The maximum in this paradigm is
d20 Style Massaged Randomness: Roll 4d8 instead of 3d8. Ignore the lowest die result.
Heroic Massaged Randomness: Roll 2d8+8. This will give you a range between 10-24. The top end doesn't change, but the low end results are, needless to say, eliminated. For further "heroism", you could even do more, such as 1d8+16.
Point-buy: Point buy options are very popular in D&D today, and even moreso in other systems. If the randomness of stat rolls isn't your thing, just pick a number between 3 and 24 (or 3 and 18, if using the Moldvay range) instead of rolling individually for each player. I'd recommend a total of around 12-15 to make sure players have to make a few sacrifices and think about how to build their character. Make sure all PCs get the same total.
Hit Points: Since I was using the STR score as the baseline for starting level hit points, I won't be able to do that anymore. Rather, I think I'll go with 10 + STR where the new STR score is equivalent to the old STR bonus. (You also still add 1d6/level, including 1st level.) If you want to tweak survivability of starting characters, you can tweak the base number. 12 + STR, or 15 + STR will obviously give you more hit points to play around with. If you wanted a more Old School vibe, you could simply use the 1d6 without any modification at all. I prefer the 10+ model myself.
Races: Since racial stat bonuses were predicated on a model in which a +2 to the score equalled a +1 to the bonus, all racial bonuses should be halved (with ±1 still being a minimum/maximum) for the Eberron Remixed variety of the m20 rules. This reduces some of the variability and potential gamesmanship in chargen of races that already gave a +1 or -1, but otherwise doesn't impact their viability or relative power level in any way. For the other varieties, no change is necessary.
Sanity and Other Hazards: Any hazard that directly attacked your stat score, such as a poison or sanity episode, needs to have its impact halved. A Sanity check that does 1d4 points of damage to your MND score needs to be 1d2, for instance. A poison that does 1d6 damage to your STR needs to be 1d3.
Leveling Up: Normally, getting a +1 to an ability score would not necessarily increase your ability modifier (happens a total of three times through your 10-level career.) This was a legacy rule that I don't think is great. Go ahead and still take the +1. You'll be marginally better, since a +1 to your stat is now the same thing that a +2 used to be, but that's not a big deal.