honestly i don't know why this is a dilemma for you. There is no competition at the 1070/1080 price points. If you want a card ***now*** to last 3-4 years, it is one of these - a GTX1060 will not have that kind of staying power, and neither will an RX480; obviously a GTX1080 will last longer no question.
If you are not willing to pay those prices (and remember, there is a big gap here) then many more options (nvidia and AMD) come into play. Just don't expect them to last 3-4 years at max settings.
You can play the waiting game; will AMD hold at nvidia's prices, or will it force nvidia to drop? Will it take a commanding lead, or will it be an equal performance response? It is speculative, but if you can wait, you will always get better tech. If you wait, just expect the same dilemma to arise again (i.e. you COULLLD wait even more for...)
I recently went through a similar episode but I was willing to buy at any price-point providing it wasn't stupid (a gtx1080 didn't make sense for me as I'm capped at 1080 for the next several years).
I was about to buy a 1070, but then saw a good deal on a 4gb rx480 (~165 dollars) and just jumped on that. I've been getting the performance I want, and since it was cheap enough, I'll upgrade again in the future w/o worries.
So write down a list of what really matters and decide what compromises make sense (especially if you aren't willing to put down 400 for a GTX1070) - for me, there was a single game i wanted to play at 60fps (which happens to be a demanding title anyways), and I found out I didn't like the hairworks aesthetic, so the RX480 became a terribly easy sell because I achieved the performance and quality I wanted.