Yeah, my main view on ditto's problems is this:
His main usage is as a revenge killer, due to his ability to copy stat boosts and incredibly low HP (meaning that even if he were to copy a defensive poke, he would be inferior by definition. Thus, his niche becomes as a check to set-up sweepers.
But he can't be a reliable check unless he's guaranteed to outspeed. This almost necessitates a choice scarf, as without he is simply not reliable enough, which would mean that you have to have another reliable check in case you lose the speed tie, in which case ditto was redundant in the first place.
And if ditto is scarfed, it is usually quite easy to counter, especially since seeing a ditto in team preview basically tells you it's scarfed and thus helps you to figure out what you need to keep alive. This is aided by the fact that most of the common set-up sweepers have STAB attacks that some common pokes 4x resist or are immune to. For example, ditto-excadrill locked into eq is beaten by every flying type (and if it uses anything but eq excadrill itself will survive and beat it), ditto-breloom locked into mach punch or ditto-terrakion into CC by chandy, etc. IMO, ditto would be much better without team preview, as if the opponent didn't know to prepare for it it could easily sweep late-game.
As it is, ditto is really not that great in this metagame. It's niche for scouting movesets is a good one though, and that combined with its late-game sweeping capacity gives it just enough viability to warrant some use. Still not the best poke around, but it has a definite niche.