El Indio was a LOT better 20 years ago. We used to go there all the time, but now I haven't been there in years. We also like Rubio's. Though I have to say that the best fish tacos I've ever had were from the Prado restaurant in Balboa Park.
Rather than El Indio, I would recommend that you try Saffron (Thai food) if you're in that area - it's just down the block from El Indio - they are both on India Street. Saffron is counter service, but they have both indoor and outdoor seating. Their chicken egg rolls are fantastic, and their noodle dishes are really good, too. Actually, I haven't had anything there I didn't like!
Let's see...other stuff in the Shelter Island area (I work on Point Loma, so I should know lots of places!)...if you love good bread, try out Con Pane, a bakery that's at the corner of Rosecrans and Canon streets. Wonderful sourdough, and I love their gruyere and chive bread (only on Tuesdays, Thursdays, and Saturdays). They serve sandwiches and coffee also. There's also scones and a few other pastries for breakfast. Service is slow, and there's usually a line, especially at lunchtime.
For breakfast foods, try the Point Break Cafe - it's in a little strip mall on Scott Street between Shelter Island Drive and Camino de las Portuguesas (I think that's it). There's a Subway in there too - not that I'm recommending that, but it's a recognizable landmark!
Pizza Nova is a California Pizza Kitchen kind of place - it's on Harbor Drive between Nimitz and Scott Street.
I also echo the Hodad's recommendation.
And Point Loma Seafood is good, but the ordering process can be really confusing...basically you just have to walk up to what looks like a seafood counter and place your order, and they'll give you a strip of paper with a number on it - but all of the people taking orders have different numbers, and when the food comes out they are calling out numbers that can be anywhere from 1-100! It's pretty chaotic, but it works. I'll warn you that they are quite pricey for a take-out place, but the seafood is good. They also have very good fish tacos.
In Old Town, Old Town Mexican Cafe is really good. Excellent carnitas plates.
Oh! Filippi's Pizza Grotto on India Street downtown is kind of fun - it's got a ton of atmosphere. You enter through an Italian grocery store and the restaurant is in the back - complete with the red-checked table cloths and those raffia-wrapped wine bottles hanging from the ceiling. It's NOT your Pizza Hut pizza - the sauce has a bit more flavor and they put a ton of cheese on their pizzas.
For seafood, Anthony's Fish Grotto, right on the bay, has been there for years. It's on Harbor near the Star of India.
Hope that helps!