Hi...this is Kemal. I have a couple of other things to add for staying safe while attacking. I have been a big hunter in other unis so I am familiar with the best techniques.
Watching the stars is a big key, as Memphis wrote above. Good enemies are watching your planets for stars and minutes, and you must do the same. Safety-probing at the end of an attack is a necessity, but it also stars up that planet and, if you are within 15 mins of the attack hitting, it allows your opponent to use the planet as much as he wants up to attack-time. That is the beauty of using a late probe to join the attack and slow it down at the end. Here is a typical scenario for an attack and how to manipulate the game to stay as safe as possible:
My attack is going to hit my opponent's colony at 0:00:00 ogame time. Once I get within 30 mins or so 0:00, I will not probe his colony so there can be no star for him to hide behind. With about 10 mins left, I will slow-send a probe to land at his colony 5 seconds before 0:00. I will send another to land at 0:00:10, and another to land at 0:00:20. I then have a probe join the attack and slow the fleet down so it lands at say 0:00:30. I then am watching his planets, especially his home, for stars ANYWHERE. Obviously sometimes he stars up somewhere because he's been probed by someone else or has a ship come home or whatever, but I feel really good if I see no stars anywhere assuming I know where all his cols are. Let's say my opponent is hiding on a moon (which doesn't star you up) or on an obscure col I don't know about and he has set up a ninja for me. When he saw me attack, he timed his ninja fleet to return home 10-15 seconds before 0:00 to get me. Now, much to his chagrin, he sees that I have slowed down my attack. I am refreshing the galaxy page on his SS repeatedly in the last 30 seconds and, when I don't see any star there yet, I recall my first probe which is going to get to him at 23:59:55...I don't want to be responsible for any star. I see a star anyway at about that time, which has to either be him getting online and being in shock at seeing my attack coming, which is unlikely, or it is his ninja fleet. What he will try to do now is "bounce" his ninja fleet back up in to the air so I don't see it with my probes, and then recall it to get me at the new attack time of 0:00:30. That is why I have a probe coming every 10 secs now that I sent out nice and slow and controlled earlier...I have a good chance of seeing his ninja fleet before he can get it back off the ground. When my probe hits at 10 secs after, let's say he did a great job and his fleet is up in the air again. I look at the esp report and notice that the deut total on his planet doesn't make sense...it takes deut to get that fleet up in the air. You can actually calculate how much deut he SHOULD have if you have his techs and you look at what his deut total was 30 mins before the attack when you last probled. If this is too hard for you, you may just eyeball it and see if it looks out of line. If you have a serious question, you should recall your fleet. It is better to miss on one attack than to lose your fleet. If it is a smaller attack for you and you feel you can take a chance, so be it. With a big fleet you cannot take a chance. If he successfully navigates through all the mine fields you have put up for him in the minute before the attack hits, he is an elite player. Rank doesn't always tell you the story of the quality of the player you are dealing with (just look at my rank hahaha).
To ninja someone you can use alot of the technique described for the enemy above. Make sure you carry extra deut with your ninja fleet so you can leave the exact amount behind when you "bounce" your fleet up in the air and they won't be able to tell if you have bounced a ninja on them. Until you take them out, that is.
One other thing...I haven't read all the forums so I don't know if this is discussed elsewhere, but at 03:00 ogame time there is a server "drop" as we call it. Everyone is dropped off the server and must log back in. You cannot log back in without starring up your home planet even if you were on a moon watching your account before. It is always a good idea if possible to time attacks so they hit after the drop time so you can tell with confidence if your opponent is online or not. Use the server drop time to study your opponents days in advance to get hints about his offline time. Everybody sleeps, and Euros and Turks and Asians are often offline at the drop. That is the one time per day when you can tell for sure who is online and who is not.
I'm assuming all of you are using Mozilla Firefox to play ogame with the Foxgame. If you are not, you are ill-prepared to take on the top players. Download it NOW. It is free and it is a must.
For all of this advice all I ask is a good rate for the 150k deut I am sitting on in G6...I need crystal. If you can help me out I would appreciate it.
Make moons or go to the next uni. They are the difference. Good luck and happy hunting Elite!