I think this must be a boy thing. I've read similar posts over the past few days! And my little boy was similar. Here's my thoughts...
If he's like my kids, he's definitely too old for a nap. If he's starting to get tired around 3pm, put on a movie for him, and have him have quiet time. Make it fun. Have him bring out a special pillow and blanket and lay on the couch. Let him pick the movie. And then he can relax while he watches the movie. He probably only really needs 20-30 minutes of downtime, so if he won't sit still for the whole thing, he'll probably be fine.
Other thought, do you do a nighttime routine? My kids do really well with this. The routine gets them ready to go to sleep much easier. We do bath time, snack time (a banana if they want), story time, then hugs/prayers, and time for bed. It helps their bodies get into sleep mode. Some kids are more difficult than others, though. This works well for my younger two, but my oldest has a hard time sleeping (she does have thyroid issues, and it might be from her meds). She'll take an hour or two to go to sleep.
As for his fits, I'd suggest switching your approach around. When my son did this, I tried a wide variety of things, and it drove me mad because nothing seemed to work. My sweet little boy was crying all the time and acting out, and I felt like I must be ruining him somehow, but I didn't know how to fix it!! So...I read a lot and researched a lot and realized I really needed to completely change my approach. Some of what I'm going to say might seem a little bit crazy, but I swear to you that if you try this, and if you are consistent, it will work.
Your little man is dealing with a lot of stress, and it sounds like it's coming out in his tears and tempers. Think of when you are upset. What types of things help you calm down. Does it help if someone sends you to your room and tells you negative things about your behavior without seeming to really care about how you feel? (and I'm saying this kindly, I realize that could be read as though I'm being snotty - not the case!) When you get upset, does it help to have someone hug you and tell you that they are there and love you and validate your feelings? That's what makes me feel better. So, it's along those lines that you approach it (and this method is called Positive Parenting by Jane Nelsen, she has books out on it).
So, this is what I do, when my boy gets upset - even if it's because I just told him not to something and he screams at me and gets upset at me (which rarely happens now that I do things this way), I get down on his level. I don't get angry at him. And I tell him "Honey, I'm sorry that upset you. I can understand why you are feeling that way, and it's okay to feel angry. But you can't have that right now." Because it really is okay to feel angry. Teaching him *how* to behave while angry is the important part. Trying to make him stop being angry or having him pretend he's not angry is the part that seems to make them more angry. So, when you relate to him and understand why he's feeling upset, that alone could potentially make him feel better. He feels understood. I also say "Would a hug help you feel better?" Sometimes a hug is all he needs, and after a quick cry he's done.
If he doesn't stop crying, or if he's so mad that he's not calming down enough to be allowed to be out with other people, I'll tell him, "Okay, lets go to your cool down spot" (not time out) and take him by the hand. If he fights, non-angrily bring him along with you. My son's cool down spot is his bed. It's not meant as punishment at all and should be a positive place he knows he can go to in order to calm down. It's meant to teach that when we feel so angry that we are feeling like yelling and screaming, then we need to remove ourselves from the situation and go to a place where we calm down. We need a place that is calming, not punishing.
If I am able, I will sit in there with him and hold him/hug him and encourage him to talk and tell me why he's feeling how he is. I never tell him he shouldn't feel how he feels. I accept that he's feeling how he is and help him learn how to express it better - even just saying "It's hard when we feel angry like that, isn't it? I get upset sometimes too. It helps to have a special place to go where we can cry and get upset until we can calm down enough to talk about it or behave how we need to in order to be around other people."
My little guy has responded very well to this. When I sit and talk with him, he feels obviously loved and cared about. He also comes up with some of the funniest things when expressing his feelings, and it can be really hard to not burst out laughing because it's so cute.
I can now see that a huge frustration he had before was that he was being told to stop feeling how he was feeling and being treated rather negatively (being sent to him room until he stopped behaving poorly ,etc...stuff we were almost all taught as kids). Treating him that way made him more frustrated. Made him feel like he was bad and wrong for feeling angry. It's so normal to feel angry at times in our lives that I think the thing that is most helpful is to teach what to *do* when we feel angry. It doesn't work to teach to not ever be angry - you have to teach what to do about it.
My son has improved tremendously after doing this. I do *not* get mad at him when he's upset. It doesn't matter why he's upset. But I am consistent at teaching him what needs to happen when he reaches that point.
A lot of people seem to think that if you give them positive attention (hugs, talking to them, validating their feelings, etc) that it'll make them behave poorly in order to get that attention from you. I've found this to not be true. The opposite has happened. He's felt angry much less often and is in much better control of himself. When he does get angry, he doesn't get nearly as angry as he was because he's not having to deal with my anger on top of his own.
Also, another reason he doesn't act like this to get more attention from me is because I make it a big point to give him a lot of positive attention during the day. I give him hugs when he's behaving well and talk with him then, etc. So, he's getting the attention he needs then and doesn't need to act up in order to get it from anger. I have noticed, though, that days he is crying more easily and getting more upset that it happens to be days that I am too busy with other things and somewhat neglecting him. I don't realize I'm doing it, so I make sure if I notice him behaving like that, that I consciously give him more time during the day of positive connection, and it quickly remedies it.
Anyway, I hope that helps some. It really does work! I highly recommend reading some of those books. I love them and feel like it's finally what I've really been looking for.