Not only should primary elections should be banned from occurring earlier than thirty days before the general election for said election, but should be required to take place exactly thirty days before said election. To accomplish what a primary election does within one single primary, primary elections should use Instant-runoff Vote.
This would prevent politicians from campaigning for extremely long times compared to other countries.

For districts with multiple seats using MMP or STV, the order of which candidates won in the Instant-runoff Vote primary would determine which order they would be added to their respective seats, assuming their party won. If there weren’t enough candidates to fill all the seats the winning party gained, then the party would vote on the candidate for said empty seat, similar to how parties do so in other countries.