Hello!
I come from Rutgers University, a large state college, so I understand what it's like to do well in a class, visit professors at office hours, yet still feel like your professors don't know you too well. But, you need to remember something: as long as you are doing this, you are actually getting to know your professor more than most of your other peers in your class! If you were asking a professor you did not interact with outside of class, merely just got A's in their classes, then I would tell you to think twice about asking. But, this does not seem to be the case for you. One of my letter writers fell into this category: I aced two of her classes, went to office hours, and interacted often in the smaller of the two classes she taught. Though she may not know me like my best friends, she still knows me better than she does other students, and this is what makes a LOR shine.
I would like to make a suggestion. A great way to get great LORs is to join a research lab. During my undergraduate career, I have been a part of two research labs. A research lab gives you the opportunity to work closely with a few others peers, but more importantly, one-on-one with a faculty member. It is a great way to get close to a faculty member while building up your resume at the same time.