She didn't deliberately avoid marriage so much as use it as a political pawn to keep England safe and make alliances.
There were plenty of what that time would have considered suitable husbands, but remember the misogyny of the age. Queens don't rule. Only Kings do. So once Elizabeth married she would no longer rule England, her husband would.
She came pretty close a time or two but her anxiety couldn't bring her to follow through.
Considering all that she experienced growing up, would any woman in her right mind marry when in her mind it equals death at the hands of her husband? Her husband could have her killed and then take another wife for queen. Her Father did, many times. Or she could even die in childbirth as her stepmother did.
She used marriage as a carrot but no, I doubt she could ever bring herself to marry.
As to an heir, once Mary had James VI of Scotland, he would be heir and eventually did become James I of England.