There are Premier Inn, Holiday Inn Express & Travelodge in centre that may be slightly better value. For Hogmanay (New Year) when prices are even more expensive (!) I have stayed at the Holiday Inn Express in Dunfermline which isn't too far from Edinburgh & motorway to outskirts of city. Much cheaper. Parking near castle may be difficult but city centre isn't too big for walking or you can get a 24 hour pass on one of the open topped bus tours that go to all the attracions. Hop off whenever you get to so something you want to see & get on the next bus to arrive once you've seen enough. A good way to see the city too.
There's a Holiday Inn next to the zoo that isn't always expensive. Parking at zoo too & it's only around 45 minutes from Dunfermline if you take that hotel option.
There's a Holiday Inn next to the zoo that isn't always expensive. Parking at zoo too & it's only around 45 minutes from Dunfermline if you take that hotel option.