Many years ago my dad put a large punching bag in the garage, and filled it with coarse sand. It was like punching bricks, and bleeding knuckles were a regular thing.
John's softened the blow using various materials (although still using sand at the centre of it all) :
If you want to try building one of thse for yourself, I basically took two bags of tube sand and wrapped them in carpet and carpet padding. Then covered it in 3 mil plastic to resis moisture and finished it off with a layer of duct tape. The carpet is in two layers; the first layer has the soft pile facing the sand bags to minimize abrasion that might tear the bags, the second layer faces outward to give more cushioning to the hands when striking the bag. Between the two layers of carpet is where I wrapped the rope for hanging the bag. The rope is covered with duct tape to keep the carpet backing from fraying it. Tube sand was out of season at local stores when I finally got around to building this, so I made my own from heavy-duty 3 mil plastic garbage bags (box of 12 for about $8) and duct tape. In all, I used 120 yards of duct tape.
As the video shows, it moves just enough. No more wild swings.
Update : John now has detailed instructions for making the bag on his site.