I actually feel you on this, I'm a vayne one trick so I take her to every role. But i found that taking vayne top is absolutely ridiculous, a complete pubstomp. I feel terrible because I can only image how in unfun it must be for the opposing top laner but my mentality is why risk playing some champion you don't know how to play rather than picking one that you are actually good at. Hence the vayne top
It's really hard to balance around an item that negates ranged unfortunately. As if the item is too powerful too early, it would most likely be abused by tanky initiator supports to completely wreck bot lane. From playing ranged top I can tell you for sure though that the most effective thing to do is to get your jungler to camp the living bejesus out of your opponent, if you get a kill or two early they are practically pretty much out of the game until 20-30mins because unlike bruisers or tanks they can only build damage. If you get even the slightest lead and are able to buy defensive items faster than they can build damage you've won. From there just freeze the lane by your tower and watch them be deprived of farm. Even better if you just have your jungler come up and take the 1st tier tower with you. From there go make plays around the map with your tp and jungler to take objectives around the map while they are busy trying to farm. Another way, If you already know in champ select that you're against a ranged top, run a counter ranged too against them. Couple games ago I was 2nd pick so I locked in my usual vayne top. What I didn't expect was for the enemy top laner to realize I was going for that cheeky vayne top and he picked Lucian into me and proceeded to completely demolish me.