I've been to Budapest, great city but a real pain to get to the track and I don't remember if there was any entertainment.
We were at Singapore last weekend (we live there) and it's very central. The race was exciting because we had a storm, so lots of crashes because of the wet track and it's a night race. Loads of people go for the entertainment alone which is usually good and safe. Great buzz in the city for F1 weekend and easy to get to as it's in the city centre. You can also make a holiday of it, a few days in Singapore and pop to a beach (ie Thailand) for a few days. I wouldn't stay more than 5 days in Singapore.
You could go to Silverstone, save money on flights and upgrade your ticket. Seats across from the pit lane (where they change the tyres etc) and seats on the finish line are good, you can pick different seats for different days to mix it up or if you're feeling really flush, look at Paddock Club £££. That's VIP, you get to walk around with the drivers and celebs and see all the behind the seen stuff. If you watch it on the TV, you'll see all these pillocks trying to get their face on TV.
Every day is different and there are other races too, W series (women) and some races where folk pay to drive a car. Friday practice, Saturday qualifying (the order they race in) and Sunday is race day. Give yourself the Monday off too, you'll be knackered from walking, beer and travelling.
Next year there are new races including LA but then you've got flights. I'm not a massive fan, I rarely watch it on TV but it's a good weekend out. Look at the F1 website for tickets, only buy official ones and brush up on the rules if you're going with him, it makes it more interesting.