It is quite in order for Joel to talk of a virgin who has suffered a grevious loss and lost her husband. The loss would be especially grevious if the marriage had not yet been consummated. He drops Ephrathah and he drops 'ruler' over Israel and changes it to shepherd, because Jesus never became a ruler over Israel. It is necessary to look at the Hebrew before deciding this. All cities ,towns , villages etc are feminine in Hebrew.
All men are masculine in Hebrew.
If the verse in Hebrew uses masculine words it is talking about the person Bethlehem. If it uses feminine words, it is talking about the place Bethlehem. Why wasn't Jesus called Pele Yoetz El Gibor Avi Ad Sar Shalom.