First, it's easy to cheese this fight if you have a Pokemon that knows dig, protect, detect, or fake out. Defense lowering moves, physical attack lowering moves, and residual damage moves (like leech seed) are also helpful if you're doing it this way. However, many Pokemon that learn the cheese moves become less useful later in the game, so I don't recommend leveling up one of them and spending a bunch of time and experience just to make this fight easier.
If you don't want to cheese, the next easiest thing to do is setting up. Spinda knows teeter dance, so a Persim berry or yellow flute makes it much easier to set up on it. Vigoroth's encore means it might take a few soft resets before it doesn't use encore or the encore ends early enough, and you want to attack Linoone and make sure it can't use belly drum if you want to use that as setup bait. The best setup users accessible at this point in the game are probably Combusken, Beloom, Vigoroth, or Hariyama (bulk up), Gardevoir (calm mind), or Zangoose (swords dance). Combusken, Breloom, and Hariyama also have a type advantage.
If none of these are options for you, you'll just have to keep battling Norman until you get enough experience to brute force him. You'll need a Pokemon decent HP or physical defense stats, like Marshtomp or Gyarados.