I would personally use Choice Band Weavile. Although it is frail to Mach Punch, I havent met a single trainer that has a Pokemon with Mach Punch. Weavile's attack is just a little lower than Mamos, too. With band, it would easily pass it. Mamoswine has good HP and Atk. Since your placing EVs in Atk and Spd, I would use a scarf for it. Even with a scarf, it still cant outspeed a nonscarfed Weavile. If you band it, it'll be swept with Hydro Pumps.
Banded Weavile: 180 Atk, 125 Spd
Scarfed Mamoswine: 130 Atk, 120 Spd
As you can clearly see, Weavile passes Mamo in both Spd AND Atk.