If it is the Little Hermitage Theater, the seating and view lines are wonderful. The ballet, during the summer is staged by promoters who contract with an existing ballet company or assemble the cast from scratch. It is possible to see a wonderful performance or an amateurish one depending on the promoter and cast. So, it all depends. I've seen Giselle there, with a very good troupe of dancers, several years ago and was delighted with the show. Sometimes it is not so good, intended for tourists and not ballet fans. There is a wide variety of music, song and dance that is periodically staged there, the venue is small and does not work with ballets or operas that have elaborate sets, but intimate "little" ballets are a very good match for the staging.
Essentially the theater is for rent and promoters create their own performances. You can rent it for a party or wedding if you wished.
The same with many of the palaces in the city and outskirts.
There are several permanent ballet companies, both private commercial and part state sponsored in the city.
For a restaurant as you describe, try Demidov on Fontanka River, across from the Summer Gardens. The Gypsy show is quite entertaining, the good authentic Russian from prior to the Soviet era and the interior of the restaurant is also very authentic from that period, the domed ceilings with elaborate paintings are quite interesting.
Don't be surprised if you end up being part of the show.
_________________
Avarice, envy, pride,
Three fatal sparks, have set the hearts of all
On Fire.