Unless you want to stop in small villages along the way (and it seems like you don't) then take the train - comfortable, cheap, easy to use between big cities.
BP - BA (8 euro if bought in advance, 17.50 on the day)
BA - Prague - around 15 euro
You really don't want to take car between Prague and Bratislava. Highway between Brno and Prague in Czechia is being reconstructed and it can easily become a nightmare (unless you plan to travel during the night). Invest money in first class train instead (it's cheap enough), it will be faster, more comfortable and you can even have a nice meal during your trip without having to stop.
Bratislava - Budapest is another matter, car makes some sense there if you have a lot of luggage but I can't recommend a company since I usually drive my own car when public transportation is not suitable.