The first question can only be answered on Election Day, after the results comes out, but the second question is easier to answer. Yes, he has waited too long.
Personally, I don't think there's too much doubt about that. PM Najib came to power after ousting his predecessor Abdullah Badawi in April 2009. This was just after Badawi had won an election, but without a two-thirds majority in 2008. Everyone was expecting PM Najib to go to the polls again to get a mandate to rule but fearful of a strong opposition, he never did. Now, the term of the government is almost over and he has no choice but to call an election.
Let me be clear on this; I don't think PM Najib has called the election because he wanted to. He did it because he has too. He just can't wait any longer. State assemblies has been dissolved because their terms are up and it force PM Najib's hand. If he could, I believe he would have tried to wait even longer. Many, including me, will say he has already waited too long.
In many ways, it is understandable. PM Najib is not one to take unnecessary chances and had used the time to shore up his position. He is now the undisputed leader of the United Malays National Organisation (UMNO) party and his own popularity among Malaysians is at an all time high. However, it has not been all smooth sailing for him. Try as he might, PM Najib has been unable to quell the internal factional struggles within his own UMNO party and he has also been unable to do anything about corruption and the rising cost of living, both bugbears of voters.
However, the biggest problem for him to wait as long as he did to call the election was, by waiting as long as he did, the opposition has time to get ready. Anwar has not been idle either. The element of surprise is non-existence and thanks to the smell of victory, the opposition is stronger and more united than ever. Worse is that Malaysian voters now have the view that PM Najib waited so long because he is afraid of losing to the opposition and are now more likely to vote for the opposition as there's a real chance they could win.
The view might be correct. By the end of the election, the ruling Barisan Nasional (BN) coalition, which has ruled Malaysia since independence in 1957, might be in the opposition and Malaysia might have a new government. If that happens, PM Najib can only blame himself. He had just waited too long.