Buying SIM-free, or prepay if you can get a phone unlocked (or easy to unlock) is the way to go as you now have a load of flexibility.
For example, you might not top-up for a bit (but still receive calls) or you can go on a 30 day rolling contract and when a better tariff comes along, just change - and keep your number.
A little bit of effort over a 24-month contract stealing a fortune from you every month, even when you use it less (and charging you when you use it more) but worth it.
What's more, you can change phones as often as you like.
Anyone that takes the time to grab a calculator or load Excel can sit and work out the cost of ownership and will usually see that it's cheaper to pay up-front.