There are 3 difficulties in receiving serve:
1- reading what ball is coming: spin, length, placement, (height)
2- reacting quickly
3- making the receive itself
I think the first thing to practice / check: if the server tells you what serve they are doing, can you receive it properly ??? this is step1. if you can't, then it means you lack some techniques that you need to work on
As for reacting quickly is about practice, general footwork, knowing some basic steps, notably when you get to a short ball, do it in 2 steps, not 1 step, and keep a good low stance. Multi-ball is the best to work on reaction time.
reading the serve is the most difficult. and i suck at it. but i think some things can help.
---
look first at the impact, and speed of racket. if the racket has little speed, then there can't be much backspin (nor topspin) and you can attack or flick it.
be aware of the first bounce for the length. if its close to the baseline, good chance serve comes long.
then try to look at the mark on the ball when it crosses the net. if you can't see it, good chance the serve is with spin and not knuckle.
then look closely at the 2nd bounce and be careful of last instant deviation if the guy is a good server.
---
then the waiting position is crucial. don't be too close from the table. At our level, most serves are long, and don't bounce twice on the table.
against lefties or guys who do BH serve from FH side, or if you know the guy likes to serve short or half long to your FH, you can wait with the RIGHT foot in front of you.
i think also you need to relax a lot before receiving
---
perhaps if you post a movie or tell us WHICH kind of serve cause you most problems we could help more.
---
EDIT
as for me, for example i know that i don't like long and half long serves to my middle. i don't know how to do the small adjustments to receive with BH opening loop. im better off just pushing long with the BH , or even better if i can make a bigger step to receive with my FH.
i know there is higher quality in my BH long push so if a serve comes short i try to cover 2/3 of the table with it. if i react quickly and have extra time i might go for a chiquita.
You have to know what works best for you against each type of serve, and try to have at least 2 good options, and use them in the early stages of the match. When you feel more comfortable with the serves you can try something more exotic to surprise the opponent, or to test him in something you've not tried yet. Maybe the opponent has some weakness and even a not so good receive of some particular type can cause him trouble.