For an offensive mon, defenses should not be considered a huge viability factor. For example, Deoxys-A and S are locked away in higher tiers, and they are far less bulky than Weavile. Weavile doesn't give a shit about taking hits, it's about dishing out hits, and that's the issue. Weavile is simply not strong enough to dent teams like Crawdaunt or Bisharp.
First off, Weavile is forced to run LO or an SD set to do damage. Its STABS are not that powerful when considered Close Combats, V-Create's, HJK, and Flare Blitzs are being used everywhere. To put it in perspective, Ice Punch is still weaker than Scald. Knock off is very strong initially, and can potentially ruin a Mon (Such as Gligar); however, after that first initial knock off, Weavile becomes very weak. In order to get consistent kills, Weavile needs to be at +2. +2 is already hard to get to see as how fast paced the UU Meta is at this point in time, with bulky Modest MegaToise being used, Scarf Darm and Victini being widely used, and things of that nature.
Weavile is rather one dimensional. The only viable sets are physical ones, which makes Weavile less dangerous than Victini who can go special, physical, or mixed. Weavile does not perform its one set amazingly well. For a late game sweeper, Bulky Metagross would do just fine with BP, and it has the bulk to take hits. Metagross can actually use Agility to neuter most teams late game. CS Reckless Mienshao could do the same. Weavile has stiff competition in terms of late game cleaning, especially with CroCune running around.
Overall, I would say Weavile is one of the best Pokemon in UU; however, it is right where it should be. I often find myself focusing on how to take down a Mega Blastoise without taking too much damage rather than Weavile.
Just my $.02