Maybe hearing what we do will give you some ideas.
Our 2 year old screams when it's prayer time. He sometimes kicks and fights all the way up the stairs, yelling, "no nap time anymore!" (this is at naptime and bedtime)
But usually, I get him thinking about other things by sitting in the rocking chair and talking to him about our day. I ask him questions and he likes to nod or answer them. Things like, "Did you have a good day today? Where did we go? What was your favorite thing about today?"
He calms down, relaxes, and sometimes starts to rub his eyes. Then I kiss his forehead and ask him for a hug. He puts up a fuss when I put him in his crib, and then he pleads, "Mommy, wait! Come back!" but I just close the door most of the way and stick my hand in with the sign language for "I love you." Sometimes he'll cry for a minute, but usually that's the last I hear from him.
If I didn't give him time to relax and talk about his day, it would be a scream-fest, and I doubt he'd fall asleep. He was never good at crying it out. He just gets more worked up. Although if he does end up crying for a while, I find that all I have to do is go pick him up, wipe his nose and tears, give him a hug and cuddle until he calms down, then put him down again. It seems that he just needs to know that he hasn't been abandoned, and that I will still take care of him (the wiping of the nose and tears makes him calm down the most, because I'm taking care of him.)
We used to have a much longer bedtime routine, but I just couldn't handle it anymore. The kids tried to drag it out, asking for more stories and more songs, etc. I whittled it down and set the limit at one song each, a minute or two of talking, a hug and kiss, and then I'm gone. I don't respond to their pleading that I stay. And if they won't let go after the hug, I tickle them off.
It works for us!
Good luck!