Always the same with phone upgrades. If its a inconvenience or its something you can't live with, then upgrade. If not, then hold out a bit longer and see what the iPhone 8 is like.
Price of the 7 might come down and might not be anything that you like in the 8, so good idea to wait if you can hold out. If its just unusable for you, then just upgrade. If you wait or not, in a years time you will be in the same situation where a new phone is coming out. If you get a 7 now, average contract is a 24 month (if you dont pay outright) for 12 if you get Apple Upgrade, then just skip the 8, and upgrade to the 8S/9 or whatever it will be.
Thats how I have always looked at phones. You will always miss out on something or one model inbetween so upgrade when you just can't handle it anymore.