If your current pay is not high and you could not get the GC even you stay in the U.S. for three more years, my opinion is go to Canada as soon as possible. I have the same situation as you. I have spent three years H-1B and only three years left. My Canada immigration application is still under background check now. I hope I can settle down as soon as possible, even Canada. I felt so tired for the life like this. My son is getting older and older. He makes more and more friends every year. He was so upset when I told him that we were going to move to Canada. So I think settling down is not only good for ourselves, but also our children. They will be easy to accept those changes if that happen earlier.