How bad is a B+ for master's application? I have had at-least two to three B+ in each semester of engineering but in third year when I feel sick I ended up getting 4 to 5 B+ in the two semesters of third year. Some of them in core papers like AI, Databases, compilers, Design and analysis of algorithms etc., I am from an unknown college in India where people very rarely score A+ in any paper, Even if they do it's only a single paper per sem. Most of the time people end up with one or two A and 3 ~ 4 A-. I got A- in most of the theory papers and A+ in labs(Everyone gets A+ in labs) and final year project(which is rare). The grade ranges is exactly identical to what people use in the US. Also we have to take 6 theory courses each sem and 3 labs related to those 6 courses.

I am currently shortlisting colleges according to my interest for spring and I was wondering if I have a shot at any of the 20 ~ 50 ranked colleges in US for MS?
GPA is not only the major criteria for master's application, there are many other things that will make your profile good. More specifically for masters application, GPA weighs upto 30-40% of consideration and the rest goes with your GRE &amp; TOEFL scores, SOP, LOR and publication/research interests. 

Upto my knowledge, yours is a good profile. Your GPA will definitely qualify for most of the universities, just start working on rest of the things. And don't compare GPA with others in your class, no one cares about it especially US grad schools.