Basically, early adopters of the 3DS paid the original price, before the price of the 3DS got lowered. To apologize for the higher price, Nintendo gave these early adopters 10 NES VC titles and 10 GBA VC titles. They did a similar thing with the n3DS during its release. These are the only two ways to officially get GBA games on the 3DS
If you hate the injector program, look at open_agb_firm, it does the bog-standard .gba and .sav fandango instead of whatever the hell Nintendo does with installed GBA games.
Edit: to clarify, both use the same hardware, and there is no emulation.
open_agb_firm has better scaling, but if you insist on using injects, and you find the graphics too blurry, there is TWPatch for that.
And how do I access that? I've found the injector someone posted on here and tried it out myself but I couldn't download the boxes and art needed to go to the next part.