In all honesty your academic record does not sound Ph.D. impressive. This does not mean you cannot get in but it does mean you need to do some more work on your own behalf. Ph.D. programs are very competitive. First off do not change schools again and make sure the classes you take from now on get good grades. Second I think taking some time off after you graduate is a great idea. Be sure to take a GRE class before taking the test, it is extremely helpful. You want to do really well on the GRE because if you do it can make up for some of the awkwardness in your academic record. Another benefit of taking time off is that many higher degree programs prefer to accept people with experience after their Bachelor’s education. Third you absolutely need to get some experience under your belt. Research assistance is a great start but you could be doing that now and not waiting until you take your year off. Not only that but you should get involved in a “club” or activity of some sort in your local community. Volunteering on a regular basis is a great idea as well. You need to start getting as much in there as possible and it needs to be regular not sporadic. This will show your experience, your responsibility, and it’ll help you get recommendation letters which are necessary for a Ph.D. application. Fourth you should make sure you take challenging courses. Someone with a lower GPA who consistently challenged themselves is more likely to get into a good program than the person who took easy classes and thus got a higher GPA. I assume when you say you tested out of classes that meant you already knew the material so you didn’t take them. Although this makes life easy for you it doesn’t look good if you stopped taking those subjects altogether. However if you test out of Math 111 so you can take Math 243 that looks just fine.