As long as the kids are also being sung to at home with their families (getting to be the center of attention during their birthday time), then I think I'd just sing once at the party.
As for gifts, some kids lose interest, but some kids just can't wait to see the gifts they've picked out be opened. If you can manage it, you might consider doing gifts at the end and making it optional--tell kids if they want to watch, come into the party room, otherwise they can keep on playing, provided they have someone to supervise them in the museum (are parents coming?). We had friends do this at their backyard party for their 2 children, and I thought it was perfect--the kids doing the opening weren't in the middle of an intimidating crowd, because only a handful watched the gift opening (including my daughter, who is very disappointed if she doesn't get to see it), and the rough-and-tumble kids who'd rather play just played. You wouldn't even have to open all the gifts at that time--only those from the kids who really want to watch. If it's at the end, any parents who don't want their kids around for it at all can sneak them away at that time. Everyone could be pleased.
When I was 7, I had a joint party with my across-the-street neighbor. Although we lost touch because I moved away a few months later, I will always remember it, and I loved that we had it together.