That's pretty simple.
You just go to gensokyo and meet with a character. Your affection levels will be displayed, as will the Rival's, usually at a number of 500 or so.
Each of the Rivals has a name pertaining to who you're fighting for.
For example, the person who uses the name "Little Girls" will be your opponent for Satori, Koishi, and Chen, as well as a couple others I might be forgetting.
And when you go to Gensokyo, you might find that there's an exclamation point on one of the locations that isn't a story area. The even there is an Encounter Battle, in which you face your Rivals for the affections of one of the girls present there. For example, at the SDM you might fight for either Remi, Flan, Meiling, Patchy, or Sakuya. It's completely random which of the girls you'll fight for, so I just go in guns blazing, leaving it up to chance.
If you win, their Affection Level will take quite a hit, you can usually drive them off in 3-5 battles.
I liked going in and imagining myself as this rowdy brawler sort who just went around getting into fights, and just winning the girls as an added bonus. :3
(Largely because that's how I'd do it if I ended up in that kinda situation.)