Battling competitively is not something I do, just because I suck at it. However, I've found myself working extra hard with my Lopunny to make it the best Pokémon it can be. Perhaps even more so than any other Pokémon I've had with me. It could just have something to do with the fact that I've never used a Lopunny on my team before now and therefore want to learn how it works and so went the extra mile.
Because of my trial and error with my first Buneary––which hit level 57 without evolving––I've been figuring out ways to help boost its friendship without battling. It is a weird Pokémon as it has a base friendship of 0 when captured, which is normally a thing with only Legendary Pokémon––In fact, Buneary is the only non-legendary Pokémon with a base friendship of 0. I don't get it either. Some things I have done to boost its friendship is give it massages and feeding it stat boosting items such as Protein and Carbos. All have proven to be effective as my Buneary evolved as soon as it hit the next level.
I'm also a little bit ahead of myself as before I even worry about evolution I like to find a Buneary with a Nature I want first. Because of its high Attack and Speed I like to find one with either an Adamant (increase to Attack, decrease to Special Attack) or Jolly (increase to Speed, decrease to Special Attack) Nature. When all else fails though a Buneary with a neutral Nature––Hardy, Docile, Serious, Bashful or Quirky––works too. Characteristics are also something worth considering, but most of the time I just ignore them because it seems like a lot of extra work for a tiny boost, plus I'm not sure what does what.
Next up is Ability. This is something I haven't worried about too much as I use Mega Evolution a lot with Lopunny which changes its Ability anyway. Still, it's something to consider if you don't plan on using Mega Evolution much or at all. If your Buneary knows Run Away it will change to Cute Charm when it evolves into Lopunny, but if it knows Klutz or its Hidden Ability Limber those Abilities will not change upon evolution. I'm not sure why that is as its Pokédex entries state Lopunny is known to run away when it senses danger. I guess seeing as Run Away has no practical use in Pokémon battles it doesn't really matter.
Something else to consider is Super Training. This is new with Pokémon X/Y, and is also available in Pokémon Omega Ruby/Alpha Sapphire. It's a great way for getting those EV's (effort values) into the stats you want as they tend to be random in wild encounters. I usually don't use it because it seems tedious, but I actually used it quite a bit with Lopunny. I put a lot of the EV's into its Attack, Speed and HP, and a little bit into its Defense and Special Defense. Special Attack is useless for the attacks I want so I ignore it.
Last up is attacks I'll teach my Lopunny. I haven't entirely decided on what I want to teach it yet as I'm still technically leveling mine up. Currently it knows Jump Kick, Dizzy Punch, Charm and Bounce. Once I get it a higher level I'll likely change up its moveset to something else. Lopunny has lots of great moves to choose from so we shall see.