Dusknoir @ Lum Berry
Nature: Relaxed
Ability: Pressure
EVs: 252 HP / 124 Def / 132 SpD
IVs: 0 Spe
- Gravity
- Trick Room
- Brick Break
- Night Shade
Sitrus berry can be nice, but eventually I swapped to Lum Berry and stuck with it. Frisk can be nice for checking items, but because the NPCs have set teams, it doesn’t really matter here because you can look up sets. Brick Break is there for if something is immune to Night Shade and for removing Reflect/Light Screen. Gravity is very useful for dealing with the many Bright Powder and Double Team Pokémon.
For this team you’ll focus Endeavor and Night Shade/Brick Break onto one side to turn it into a 2v1 and if all goes well, you can do the same to the other side. Otherwise you bring out Hariyama/Torkoal and KO the remaining Pokémon. When Trick Room ends, Dusknoir should usually try to set it up again, if Aron is still on the field, use Protect.
Most Battles should go somewhat like this, but even with set teams, there’s plenty of RNG.
Turn 1 Trick Room & Protect.
Turn 2 Endeavor & Night Shade (Aron lives from Sturdy and heals from Berry Juice).
Turn 3 Endeavor & Night Shade the same side (Aron lives from Sturdy).
And now the 3rd Pokémon will not be summoned because it belongs to the other trainer, so it's always a 2v1 on the field.

Aron @ Berry Juice
Level: 1
Nature: Brave
Ability: Sturdy
EVs: 252 Atk
- Attract
- Rock Slide
- Endeavor
- Protect
During Trick Room, Aron should always go first except for when something uses a priority move like Bullet Punch or gets lucky with a Quick Claw, so that’s something to watch out for. Hail is dangerous as it makes Sturdy basically useless at the end of the first turn, but you can still do a turn 1 Endeavor or switch out to save Aron for later, but that’s not always a good idea. Mold Breaker bypasses Sturdy entirely, Rampardos and Pinsir are ones to watch out for because of that. Rock Slide can be used for breaking Focus Sashes or Sturdy in some cases where Endeavor isn’t the right option, can even get some Flinch spam if you’re lucky and Trick Room is active, or just finish off something that is already at 1hp. Attract can  be useful for making enemies unable to attack occasionally, but it’s mostly going to just be spamming Endeavor and Protect. 
Level 1 Donphan from GO is a good alternative to Aron, but not convenient to get. 

Hariyama @ Flame Orb
Nature: Brave
Ability: Guts
EVs: 28 HP / 252 Atk / 116 Def / 112 SpD
IVs: 0 Spe
- Knock Off
- Facade
- Close Combat
- Fake Out
This is what I send out first most of the time when one of the lead Pokémon faints. Fake Out can prevent a target from doing anything useful for the first turn that Hariyama is out, which can help with save Flame Orb activation. Certain Abilities like Inner Focus ignore the Flinch though. Facade becomes more powerful when Hariyama is burned and the burn helps activate the boost from Guts as well. Close Combat is a very powerful STAB move and Knock Off is good dark coverage that can be used for item removal. 

Torkoal @ Charcoal
Nature: Quiet
Ability: Drought
EVs: 252 HP / 252 SpA / 6 SpD
IVs: 0 Spe
- Eruption
- Protect
- Solar Beam
- Heat Wave
This is what I send out either last or whenever I want to preserve Aron for later. Eruption is powerful when Torkoal has full HP, and Trick Room, it will hit before most Pokémon can do anything. Solar Beam is nice for Water/Ground types like Swampert, or when Eruption is resisted, although there are cases where Eruption is still the recommended choice. Protect will allow for Torkoal to avoid harm when attempting to set Trick Room or Gravity as well. Torkoal's Drought helps it get rid of some inconvenient weather too, although if it was set by a move, the NPCs will probably attempt to set it back up again.
Leading with Dusknoir and Torkoal recommended for earlier sets of Classic Mode Doubles.
Torkoal is the one to drop for the Ribbon Master.