I use a modified point buy that works to circumvent ECL. I pick a number, and that number represents the ability scores I want all players to be able to have in every stat if they distributed their points evenly. First, I justify the power level I want the PCs to have available to them.
Red=Super High, Orange=Moderately High, Blue=Moderate, Yellow=Moderately Low, Green=Super Low.
18 (16*6 = 96 Points)
17 (13*6 = 78 Points)
16 (10*6 = 60 Points)
15 (8*6 = 48 Points)
14 (6*6 = 36 Points)
13 (5*6 =30 Points)
12 (4*6 = 24 Points)
11 (3*6 = 18 Points)
10 (2*6 = 12 Points)
9 (1*6 = 6 Points)
After picking the power level, I lower a players points available one level for each ECL purchased. For instance, in a 36 Point Game a player can play an ECL+1 race, but they only get 30 Points. If ECL+2 is used, they only get 24 Points. If a player wants to play an ECL+4, that's fine, but they are going to be stuck with 12 Points.
NPCs in these games start with a number of points one tier lower, and most of my games start with 48 Points because about half of the players take ECL +1 or ECL +2 races, and the other three are Human, Human, Elf 99% of the time.
A player can forego a level as they gain experience to regain points lost during character creation, but they can never go past the set limit. For instance, creating a ECL+4 character with only 12 meager points to work with would be a bit powerful at first level, no doubt, but they would quickly lose a seat to characters who have ability scores that open up new doors for them. When this character would have gained their first character level, they can instead choose to gain 6 points back, so they are eventually able to fill out their ECL - or they can choose not to.
It's worked very well so far, allowing for a greater degree of customization without requiring players to start at unusually high character levels to play certain ECL races.