The question comes up every so often but OK
note- I probably will switch but GBA carts are usually measured in megabits rather than megabytes so be careful when looking (8 megabits= 1 megabyte).
Long version
Absolute best- probably a tie between the EZ3 and M3 perfect depending upon the person but both of those are as rare as rocking horse shit.
Still very nice but available- EZ4 lite deluxe. Quite pricey anywhere I know to find them the last few months (pretty much http://shop.01media.com/info.asp?ProductID=33276 only). It is DS lite sized but a quick case mod sees it quite happy to work in a regular GBA slot. About the only notable thing is lacks if hardware real time clock (pretty much only pokemon and boktai/solar boy django) but there are patches for most of that (I am not sure if someone was made for pokemon emerald in the end) and savestates which the ones above do have after a fashion (it is a similar story in DS savestates in terms of ease of use).
Nice but slightly hard to get your hands on- g6 of various flavours. Used onboard memory but had some nice GBA abilities.
Most commonly available cart- the regular EZ4 which is GBA sized but make sure you get a miniSD to go with it. From the same link as the EZ4 lite deluxe you can get a regular EZ4 lite which again is DS lite sized but uses microSD. Like the lite deluxe it lacks real time clock support and onboard it has a different memory arrangement- GBA roms, which come up to 32 megabytes although rarely exceed 16, need fast memory to run which means NOR or PSRAM but not NAND (which CF, SD, miniSD..... use) and the original EZ4 has 32 megabytes of NOR (slow to load but stays there once written) and 16 of PSRAM (fast to write but loses the ROM when power is shut off*). Other than early GBA carts which were all NOR pretty much everything uses a NAND loading to PSRAM or NOR arrangement.
*pretty much every GBA flash cart and certainly all those that mattered wrote to a different section of SRAM for saves hence the battery that most have.
Old GBA era devices- They can be a bit fiddly to use compared to a DS cart, although the same can be said for most things on the GBA side of things, and some of the later GBA devices mentioned above are far more user friendly but they work really well.
The EZ2 had a 1 gbit version that will not be on sale long should one appear (the EZ3 or m3 perfect will fetch a decent price but you can bet I will pick up an EZ2 should one crop up). Although I am not going to recommend it to GBA flash cart neophyte I see shop.01 have some of the old neoflash carts in stock and they are technically rebadged XG2 cards and for all that might be said about their contributions to the history of the DS ROM running scene they should have inherited quite a bit of their, for want of a better term, precursors GBA ability; give or take a few things which all have patches getting GBA games to run on a flash cart is a trivial affair most of the time.
Avoid- anything with supercard on the name (they make fine DS carts but GBA not so much*), EZ4 lite compact, and M3 professional as their GBA abilities are limited; they were made when people likely still had proper GBA devices and needed something geared towards DS games.
*where pretty much everything else is near perfect the supercards are maybe 70% (although it is a fairly good 70%) for GBA use and annoying to use, in addition to the not so hot compatibility comes the potential for slowdowns and a save feature which will rarely have kind words said about it, which means they are not held in high esteem.
Some people have tried to use DS expansion packs on the GBA which can be made to work but it is fiddly as you will need a DS to flash new games. They are great if you are using them on a DS and just want a game at a time but not for a GBA and not if you want to see all the GBA has to offer in a similar manner to how you might use a DS flash cart to see all the DS has to offer which is usually the operating logic that leads to these sorts of threads.
Short version
EZ4 with miniSD or EZ4 lite deluxe if you can spring for it and mod the case is about your only viable choice for a good GBA cart these days as nothing much has been made in years save for the EZ4 which had a small run a few years back hence their being available to this day.