Whenever I catch a Pokemon I'm going to use, I usually just name them whatever appropriate comes to my mind at the time. They range from "Mop" the HM slave Zigzagoon, to "Keroppi" the Politoed and "Sputnik" the Magnezone.
I always do! The theme varies, but I try to keep it consistent within a game. If I'm doing a challenge, I usually link the names to that. Otherwise, I might go for normal human names, words that fit the Pokémon, or something that I think sounds cool and fits but is actually utterly meaningless.
I didn't do it at first but when X/Y came out I decided to try naming my Pokemon for the first time. I really liked doing it so I never stopped since. I only name the Pokemon I'm planning to use on my team, it would be to much work to name every Pokemon I catch lol. I usually name my Pokemon after characters from ancient mythology, movies, TV shows, comics, books,...
Some of my favorite names over the years were: Leonidas the Tyrantrum, Cleopatra the Salazzle, Shazam the Raichu, Nightwing the Crobat, Malia the Midday Lycanroc, Jadis the Jynx and Spartacus the Kommo-o.
I didn't used to back in the day, but nowadays if I think I'm going to raise it on my team, I give it a nickname. It usually takes me a little while to come up with them, though, and often I'll use real names, such as through the website Behind the Name, or try to put something together using the letters of the final evolution's species name. Sometimes it just comes to me the second I look at the Pokemon though, such as the Treecko I raised for my first play through of Alpha Sapphire, whom I nicknamed Richard simply because he looked like a Richard to me.
As far as the nicknames of my main 3DS team? Scarlet (Delphox), Abyss (Absol), Cairo (Lucario), Lycea (Lycanroc [Midnight]), Ysayle (Ninetales [Alolan]), and Emma (Noivern).
"No matter where our destiny leads,
I'll be there for you,
Always come through,
And that you can believe."