When I start a new game, I just pick any starter because I'm going to release it anyway.
As soon as I get the opportunity to catch a mon I like (usually in the first few routes) I do it, then box and release my starter.
I always keep my mons at the same level, and only catch male or genderless pokemon.
I either defeat legendaries or, when I have to capture them, release/trade them afterwards. Save for rare exceptions, I don't find it realistic for a teenager to be able to capture a legend (fuck the master ball), so I don't use them.
I'm sure I've made several kids happy by trading Xerneas, Deoxys, Giratina and whatnot for their shitty Zigzagoons.
Tend to immediately sell items I don't need. I usually just keep medicine, some berries, and balls.
I never use balls other than the classic pokeball, the luxury ball and the premier ball. The cherish ball is fine though.
Ever since X/Y I super train my mons as soon as I can to get the right EV set. I'm not autistic about breeding natures and IVs, though, that's too tedious.
I try not to keep any pokemon in the PC, so I'll usually just have six mons for the entirety of the game, even in postgame I don't have much more. Usually when I don't use a mon I release it or give it away.
I never use HMs unless absolutely necessary (even fly and surf). When I do use them I catch a shitmon, use it as a slave until I'm done, then release it.