Her dad did screw her over by essentially making her a spinster, which is sad. If Henry had tried her could have married her to some minor French noble and had 5 grandsons by the time he died.
No need for a French noble. The answer to his heir problem was to the north.
Henry VIII should have arranged for Mary to marry James V of Scotland her cousin before he divorced Catherine. Mary and James could have had children, providing Henry with grandchildren plus adding the throne of Scotland to England. If from future marriages Henry had a son, no harm done, but his direct line could have continued through the Stewarts.