My DS did this all the time too! I found that my life was easier if I just changed him before I went to bed and then again when DH's alarm clock went off. Most of the time I could do it without REALLY waking him up. Others told me not to nurse him so much before bed, but if I didn't, he would wake up screaming of hunger in the middle of the night.
Other things that helped: try the next size up of diapers if 20lbs is close to the heavy side of the diapers capacity. I believe (it's been 2 1/2 years now) my son was in a 5 at his first birthday and weighed about 30 lbs. Also- if there are other diaper brands your comfortable trying, I would see if they work better for you. I found for DS that Pampers worked better than Huggies, and Loves were trash. (Walgreens brand were actually as good as if not better than Pampers!) Last but not least- be sure his business parts are pointed as deep into the diaper as possible. DS would start down, but somehow it would turn or twist more up during the night.
Hope that helps! ~J.