There are no prescribed limits for the engagement period. It is a matter of customs and tradition, i.e., 'urf (Arabic: عرف). This varies by place, time, and people involved. As you mentioned, a prolonged engagement period can cause multiple problems. This is why the Prophet ﷺ advised his companions to give priority to consummation of marriage when possible:
عَنْ أَبِي هُرَيْرَةَ ـ رضى الله عنه ـ عَنِ النَّبِيِّ ﷺ قَالَ: غَزَا نَبِيٌّ مِنَ الأَنْبِيَاءِ فَقَالَ لِقَوْمِهِ لاَ يَتْبَعْنِي رَجُلٌ مَلَكَ بُضْعَ امْرَأَةٍ وَهْوَ يُرِيدُ أَنْ يَبْنِيَ بِهَا وَلَمْ يَبْنِ بِهَا
Narrated Abu Huraira: The Prophet ﷺ said: "A prophet among the prophets went for a military expedition and said to his people: 'A man who has married a lady and wants to consummate his marriage with her and he has not done so yet should not accompany me.'"
— Sahih al-Bukhari 5157
During the time of the Prophet ﷺ and his companions, the period of engagement was a few days unless there was a reason to prolong this period. In the case of 'Aisha, the period was three years until she reached the age when she could consumate the marriage. In the case of Saffiya, it was three days after the battle of Khaibar:
حَدَّثَنَا سَعِيدُ بْنُ أَبِي مَرْيَمَ، أَخْبَرَنَا مُحَمَّدُ بْنُ جَعْفَرِ بْنِ أَبِي كَثِيرٍ، قَالَ أَخْبَرَنِي حُمَيْدٌ، أَنَّهُ سَمِعَ أَنَسًا ـ رضى الله عنه ـ يَقُولُ أَقَامَ النَّبِيُّ ﷺ بَيْنَ خَيْبَرَ وَالْمَدِينَةِ ثَلاَثَ لَيَالٍ يُبْنَى عَلَيْهِ بِصَفِيَّةَ، فَدَعَوْتُ الْمُسْلِمِينَ إِلَى وَلِيمَتِهِ، وَمَا كَانَ فِيهَا مِنْ خُبْزٍ وَلاَ لَحْمٍ، وَمَا كَانَ فِيهَا إِلاَّ أَنْ أَمَرَ بِلاَلاً بِالأَنْطَاعِ فَبُسِطَتْ، فَأَلْقَى عَلَيْهَا التَّمْرَ وَالأَقِطَ وَالسَّمْنَ، فَقَالَ الْمُسْلِمُونَ إِحْدَى أُمَّهَاتِ الْمُؤْمِنِينَ، أَوْ مَا مَلَكَتْ يَمِينُهُ قَالُوا إِنْ حَجَبَهَا فَهْىَ إِحْدَى أُمَّهَاتِ الْمُؤْمِنِينَ، وَإِنْ لَمْ يَحْجُبْهَا فَهْىَ مِمَّا مَلَكَتْ يَمِينُهُ. فَلَمَّا ارْتَحَلَ وَطَّأَ لَهَا خَلْفَهُ، وَمَدَّ الْحِجَابَ
Narrated Anas: The Prophet ﷺ stayed for three rights between Khaibar and Medina and was married to Safiya. I invited the Muslim to h s marriage banquet and there wa neither meat nor bread in that banquet but the Prophet ordered Bilal to spread the leather mats on which dates, dried yogurt and butter were put. The Muslims said amongst themselves, "Will she (i.e. Safiya) be one of the mothers of the believers, (i.e. one of the wives of the Prophet ﷺ) or just (a lady captive) of what his right-hand possesses" Some of them said, "If the Prophet ﷺ makes her observe the veil, then she will be one of the mothers of the believers (i.e. one of the Prophet's wives), and if he does not make her observe the veil, then she will be his lady slave." So when he departed, he made a place for her behind him (on his camel) and made her observe the veil.
— Sahih al-Bukhari 4213
Generally speaking, Islam encourages marriage as in the hadith in Sahih Muslim 1400 c.