Taking higher level theoretical mathematics vs taking less math and more courses in application areas?
I think that at this stage in your career, you should set yourself the goal of reaching some sort of mathematical maturity 


  ... fearlessness in the face of symbols: the ability to read and
  understand notation, to introduce clear and useful notation when
  appropriate (and not otherwise!), and a general facility of expression
  in the terse—but crisp and exact—language that mathematicians use to
  communicate ideas.


Courses like abstract algebra, algebraic topology, differential geometry and e.g. combinatorics will give you a combination of breadth and depth that will make it much easier to quickly master any applied field that you will choose in grad school. 

In my experience (PhD in string theory, currently applied economist), mastering the really advanced math courses should be done as soon as possible, when you have all the time and energy to immerse yourself. It's also my experience that it is rather straightforward to apply abstract patterns when you already know them, but the reverse (the emergence of abstractions from concrete applications) is much, much harder.

Of course, by all means mix and match your fundamental math courses with a small selection of interesting applied courses. There's no sense in not enjoying yourself.