I'm pretty sure there aren't any guides to it, because it hasn't been done flawlessly yet. With the Ruby and Firered 649 Projects, there are still plenty of bugs that need to be solved.
If you think about it, the sheer scope of adding even one Pokemon is massive. You'd need to repoint tons of data, not limited to: Stats table, ability table, learnable moves table, TM/HM learning table, Daycare rules, Pokedex entries, cries, Evolution table, Pokedex data, not to mention completely editing the Pokedex in general to support more than 386 Pokemon, finding all limiting bytes that prevent more than 411 Pokemon from existing, and with potentially editing associated ASM with Pokemon-related coding, such as cry and showpokepic, not to mention anything I can't think of. Feel free to try yourself, but there isn't a guide yet.
Expanding the number of moves, however, IS possible. And there's a tutorial here too. I'd do a search around to find it.
Editing Stats in general can be done with YAPE, or any other Pokemon Editor out there.