For only 3 nights, a lot of your decision hinders on which park you're planning to spend the most time at. If it's MK, then I'd say go with WL or have you considered Poly? Poly would just be a quick monorail ride away from both MK and Epcot. And you can see the Castle from the Poly pool and watch Wishes from the beach.
However, if you are flexible with your park plans, then I'd definitely say to stay at BC. BC is our favorite resort. The sandy bottom pool is shallow and filled with sand so that the toddlers don't get hurt. There are also mounds of sand to play in that lead directly into the shallow pool. It's an awesome pool area for age 4. Also, Beaches & Cream is at BC which has great ice cream treats. And a character breakfast right at BC too. You can watch Illuminations from lots of places in the BC area, you can walk right into Epcot, walk right over to the Boardwalk, and walk/boat to MGM. If your son falls asleep in his stroller after the Fantasmic night show at MGM, you can leave him in there and just boat or walk back to BC. We love doing that with our twins. We grab a snack or drink before leaving MGM and just enjoy some adult time walking together as our twins sleep.
Let us know what you decide and if you have any specific questions. Happy planning!