I imagine BSP would be much less annoying but I haven't used it enough to speak from personal experience. If you hex it, it's a good idea to write out your script in a text file first while labeling everything so if you need to adjust it you can do so with minimal fuss.
Thanks so much for your reply that's very helpful. It's all very interesting and I'll certainly be fiddling and playing around with the abilities. I'll probably do table repointing at this stage. Also thanks so much for your offer, I'll take you up on that if I get especially stuck, and hopefully it'll help me figure things out better. In regards to the battle script would you say using Jambo's battle script editor would be beneficial? Or is hex editing simple enough. I've been doing a lot of move creation using the relevant threads there, would that be similar then?
Basically the way you make abilities work is you find the relevant ASM and add a check for it. There's no "ability table" beyond the name and description tables like some people say- ability is just a byte in the Pokemon's data that the game checks constantly. Most of the ones in YAFRH are damage calc-related, and are inserted next to the other damage calc-related ability checks. You'll probably want to look up JPAN's Battle Scripts thread for reference as his documentation on the battle structs is very helpful for this.
As for actual implementation, I simply shoved in new code where Plus and Minus were and utilized the free space opened by the DPSS in YAFRH if I recall correctly. If I was going to do this again though, I would instead replace the Huge Power/Pure Power checks at x3edfc with a branch to free space where I could insert code all I wanted without worrying about room. Play around with the bx command for doing this if you aren't sure how.
Skill Link is implemented differently and is significantly simpler- I instead replaced the multi-hit move battle script, which checks if the user has Skill Link and branches back to the old one if they don't. If they do it does a bunch of the same initialization stuff and then sets the multi-hit counter to 5 before branching back to the middle of it. Technically I believe you'd also need to tweak Triple Kick but I removed that so it's a non-issue.
You're free to borrow the ability implementations in YAFRH with credit if you can figure them out- Multiscale, Technician, and Adaptability replace Plus, Minus, and Sturdy (I didn't break checks for the latter, I just removed OHKO moves). Skill Link replaces Huge Power- I did break that check. Also take note that my Technician implementation probably does not handle Pursuit correctly. Also it might be simpler to just repoint the ability name and description tables and use numbers past Air Lock for your abilities, especially if you don't want to remove any old ones.