Recently I had to cancel a flight and rebook because changing the date would have cost more than getting a new flight, so is there any way/trick to change flight dates with low fees ?
Almost every airline offers a flexible and a non-flexible fares, with well-thought prices determined to get as much money out of your wallet as possible. And the difference between these flexible/non-flexible fares, which you apparently qualify as "significant extra cost" may in fact be lower than the difference between two flights offered by different travel agents. So this is relative to the airline, flight and even reseller you pick. There is no airline providing a really better deal.
But in your question I read more, how to get a ticket with the right conditions for cancelling/changing?
My answer is to recommend you to read the conditions before buying, and estimate how likely you are to change your flight. This might sound basic, but I think these few cases often work:
You know for sure when you fly, because it depends on stricter conditions, like getting holidays from your employer which are not changeable. In this case, just take the non-refundable ticket. The main reason you would want to change your flight is because you have a family issue, or something important enough so that you would be willing to pay hundreds of dollars to get a different flight.
You do not know yet when you will fly, but at some point you will know, maybe because your trip depends on other people's schedule. You have two choices, you can compare the prices between them. The first is to wait until later. Some airlines do not increase their prices by a lot, so it may be worth waiting. The second option is to pay for a flexible ticket, it depends again on what the airline offers. Compare the price of a last-minute ticket with a flexible ticket.
You know when you fly out, but not when you fly back, most likely because you leave for a long time. In this case, you can find an open-return ticket, even though they may become rarer, or you can look at flexible tickets or even buy two one-way tickets (most airlines price these very high, so that might be the worst option).
The last common case I am thinking about is that you need a high flexibility, whatever the reason (it never happened to me, so I cannot figure a reason). In that case, you can wait for the last minute, or get a flexible ticket.
In the end, remember that all this is a matter of pricing. Airlines price their tickets, flexible options or cancelling fees depending on how much people are willing to pay. So you should determine how much you would pay for your flexibility. Recently I considered cancelling a ticket for an emergency. The cancelling or changing fee were almost as high as just buying a new ticket. But this was an emergency, so I had no choice, and so would be willing to pay. For other cases, you can usually figure when booking what your flexibility is worth in terms of money.