Without defining what the XY able is doing for is for it is not possible to give solid advice. In any event some general comments:
Number 1 I hate H-Bots. They generally appear to be the result of some engineer doing a "see what I can do" without any real experience as to what the resultant creation is. What they are is more trouble than they are worth.
I want to make an X-Y table of 3x3 meter using extrusion pipes/rods (or similar), stepper motors, and end switches. I found candidate drivers based on DRV8825, Pololu A4988, and TMC21xx at a local 3D printer shop.
Without more information my guess would be that the mechanism mass is more that the drivers here and the small stepper they drive can handle. Basically you need to consider how much torque you can get out of steppers driven by one AMP.
I'm not sure whether the X motor will be on the moving bridge or if I'll use the H-frame type with two fixed motors (see image).
I'd avoid an H-Bot at all cost unless you have a very specific needs for an H-Bot characteristic. Beyond that belt drive can be very good in many XY systems but you need to be real careful about systems that produce reaction forces like mill / routers.
My real question is, what would be the right software to control this? All it has to do is go to a specified point (acceleration-limited movement) and stay there until the user specifies the next point. The points will be in a list of points which should be repeatable without having to type the coordinates every time.
There are so may solutions or ways to do this that ultimately it is up to the engineer to choose what is easy for him. For instance you can go the the CNC approach which means code written in some form of G-Code. This is a slightly higher level language designed for motion control. You can implement an extremely low end solution on an Arduino with the GRBL software or go high end with a FANUC controller.
You second alternative is to use the various single board computers and a bit fo C++ to write your own control software. Depending upon the board and the libraries available this may or may not be easy.
The third alternative is to use intelligent drives with an Indexer interpreter built in. Here you simply tell the drive to move to a specific position. Depending upon the drive it might be as simple as telling the drive, over RS232, to move to a specific position.
The four approach would be a PLC with a motion module plugged into the backplane. The advantage here is you can integrate motion control with the rest of the machines control needs.
There are likely many more approaches but these are off the top of my head.
I prefer using a laptop, but in order to connect the end switches and drivers, I assume I can't get away without using a RPi. Is that correct?
No, but here are qualification. You can hook up most fo your control needs to an Arduino running GRBL. GRBL however would require an interface app of some sort on a ""PC"". That PC could be a RPi.
Otherwise, what connectivity and USB->I/O converter would the PC software use? I saw one example using an Arduino MEGA and RAMPS shield.
Again that depends upon the route you choose and frankly it depends upon what this XY table will be doing.
Bonus points if the software can be controlled by command-line, a python script or similar (in which case the software itself doesn't have to support a "list of points").
Given enough time you can write a Python script to do anything. You could even make a new GUI for GRBL.
Alternatively, all software could be contained in the Arduino if it supports simple serial command like G-codes G28 and G1, and does so with limited acceleration.
I get to the end here an really don't know what you are after. It looks like you know what your options are but have an inability to move forward. Without more info on this project I really can't offer direction either. If this is a machine for commercial usage, in a business with employees, realize that you have a whole host of safety issues to address.
A 3 meter x 3 meter machine is pretty big and is going to have some mass to it no matter what it is doing. This means you need to up scale your controls and the simple drive and stepper systems of a small 3D printer will not be optimal.