LOL, it can feel like that at times.
The senate has fixed six-year terms, with a half election every three years (that is, half the senate is elected every three years -- similar to how it works in the USA with six-year terms and a third being elected every two years). The senate term starts on 1st July. The election itself is usually before 1st July, with the new senators taking their seats on the first seating day one or after 1st July. Half-senate elections can only take place in the last 12 months of the senate term. The Australian Electoral Commission has said it can take up to six weeks to finalise senate results (due to the complex nature of the senate voting system), so senate elections usually take place by mid-to-late May, to ensure the results are known by the end of June.
The house, however, is much more complex. The house term is three years from the first seating day of the House after an election. The election can be called earlier than that, but it must be called be called by the end of the term, with the election taking place within a fix period of time after it is called. From memory, the maximum time from calling an election and then holding it is 65 days.
Now, the house and senate elections do not have to take place together, but most governments arrange things so they do. Australians don't like going to the polling booths too often, so keeping the house and senate elections together makes the voters happier. This means that house elections usually take place before the 1st July when the senate term expires.
Elections take place on Saturdays, and the government gets to pick which Saturday it'll be. They generally try to avoid having an election during January or February, as campaigning during the summer school holiday period is difficult (and annoying to voters). Similarly, they wouldn't want to have an election too close to Christmas, so that rules out mid-to-late December. Similarly, they'll avoid an election on the Easter weekend, and during term school holidays (part of the reason being the difficulty in organising polling staff during those times, as the normal staff may be away on holidays with their families).
In addition, the state elections occur independently of the federal elections, and the government doesn't like to have a federal campaign going at the same time as a state campaign, as that runs the risk of not only annoying voters with two elections in close proximity, but also confusing state and federal issues in that state. There is also the logistical nightmare for the state and federal Electoral Commissions in simply organsing the elections at approximately the same time.
Finally, and most importantly, the major football codes have their grand finals late September or early October. No sensible government will organise an election at that time...
So, while there are a lot of Saturdays that can be chosen to hold the next election, in practise there are only a few that are viable options. The government will try to pick the time when they have the best advantage.
There's also a thing called a double-dissolution election, where the entire senate is re-elected, rather than half, but that requires special conditions that have currently not been met. Having said that, our last federal election was a double-dissolution election. There have been seven double-dissolution elections in Australian history, six elections for only the house, and six half-senate-only elections. The vast majority have been joint house and half-senate elections.
Reference: http://www.abc.net.au/news/2018-08-22/the-when-and-how-of-calling-the-next-federal-election/10153686