Going along with what Anthony Orosco said, something I've been doing is playing against myself using a proxy deck and/or if you simply have enough cards to make multiple decks and just proxy the expensives like Lele.
If I feel like I had a bad match up against a deck or lost for reasons I couldn't figure out, I'll print out proxies or just literally hand write on slips of paper and slide them into sleeves and play my deck out against a deck I think I struggle against or a deck I think is popoular in my area. It's not a perfect testing ground because you have full visibility of both hands, but it gives you a really good way to rapidly test how consistently a deck sets up and where the turning points happen.
I've been playing Alolan Ninetales GX vs Gardevoir GX in this fashion for about a week now, and it's been incredibly helpful in understanding some finesse that I wouldn't have been able to notice otherwise that improved my ability to play both decks.
It might feel a bit weird, but I think dueling yourself is one of the best ways to learn.
Aside from this I would suggest to get very good a card counting. Be able to count you and your opponent's discard pile to know what's left in the deck which lets you be able to calculate the realstic odds of certain things occuring. As an arbitrary example, if 3 Ns are in your opponent's discard and their deck looks to be about 30-40 cards thick, then you have a very realstic chance to get off something like Beacon with Alolan Vulpix and having it stick (in the 2018 rotation without VS Seeker, anyway). Outside of that, it also gives you predictable odds of what you'll draw from playing a Sycamore or any other draw power.