Macro capabilities found on basic universal remotes have some limitations:
Macros are normally limited to a few buttons. For example, the RCRP05B only has two macro buttons, plus MASTER POWER. This could be enough for very simple systems, say one or two sources, but isn't generally sufficient for complex systems. That is, in a system with a TV, DVD/Blu-Ray player, and satellite, you'd need three macros to do all the device selections.
A master power on/off button can be problematic since the same button is used to turn devices on and off. Devices can get out of sync (one on with others off). Pressing the master power button would turn the one that's on off and the others on. There's no easy way out of this situation. "Discrete" power on and power off commands avoid this problem and remotes that support them typically have separate power on and power off buttons.
Macros are not synonymous with an "activity". An activity essentially answers the question of "what do you want to do?" The common answers programmed into an activity-based remote are "watch satellite", "watch a DVD", or even "watch "HBO". When an activity button is pressed, the remote insures all devices are turned on, TV and AVR are set to the proper inputs AND the remote is delegated to control the device. I.e., "Watch Satellite" would insure the remote controls the satellite receiver; "Watch DVD" insures the remote controls the DVD player. This delegation piece is typically missing from a basic universal remote.
Most basic programmable remotes don't allow macros to be attached to the remote's buttons labeled "SAT", "DVD", etc. These buttons typically function only as delegation buttons. I consider this essential in making the remote understandable to untrained users of the entertainment system.
A simple remote such as the RCRP05B could accommodate the OP's request: MACRO 1 could turn satellite, AVR and TV on and select satellite inputs on the AVR and TV. MACRO 2 could turn all devices off. The assumption that would need to be made is the remote remains delegated to the satellite receiver.
The Dish remote provides some steps at integration. The satellite receiver can be set to display an alert if a button is pressed on the remote and its not delegated to SAT. This helps avoid frustration when the remote gets delegated to another device. HDMI-CEC helps with device on and input selection but really only works with a TV. Automagic AVR control from the Dish remote via HDMI-CEC is iffy at best. There is also no master off button.
The RCA I mentioned is a very cheap remote but is not a simple remote. Nearly everything you said is true for simple universal remotes but incorrect for the RCA. While the RCA has 2 buttons labeled Macro, it can actually do 2 macros per button on any button except master power and the device select keys. That's hundreds of places for macros. Plus it can do global macros, device specific macros and has two multi-macro buttons (the ones labeled Macro). Plus, just like any JP1 remote, you can easily program discrete power and input codes on the RCA. If you program by JP1, you get 5 macros per button on any button. (FYI, a global macro runs in every device mode, so no requirement to stay in SAT mode to run it; a device specific macro only runs in the current device mode; a multi-macro runs a different macro with each button press).
I call your delegation functionality key group mapping. The RCA accomplishes this with key moves, volume lock and channel lock. If you program it via JP1, there are commands for key group mapping for transport keys, menu keys, number keys, vol/chan keys, etc.
I have all my "activity" macros on the device keys, i.e., a short press of SAT is my Watch Satellite activity and a long press is SAT device mode. This activity does discrete power for my TV, SAT and receiver, discrete inputs for my TV and receiver, maps vol to the receiver, and other keys to SAT, except TV input. A long press of the Master Power button I have programmed to send discrete off to all devices. I also have some state tracking bits for my devices that lack discrete power. My macros are exactly equivalent to harmony activities except that I have complete control over the steps without being locked in to what the programming wizard does.
I currently have my RCA set to control 12 devices and have about 30 macros. It is far more capable than any harmony I've every used. It has unlimited devices (via multiplexing), unlimited macros, 5 functions per button (short press, long, double, shifted, double-shifted), nested macros, state tracking (via toad-tog), recursive macros, key group mapping, fast macros, variable delays, conditional branching, pronto hex import, custom devices and protocols, signal analysis tools, and PC programming similar to harmony. Granted I do this with Remote Master, but you can still do plenty without JP1.
And before you say, "hey wait a minute, the RCA is only 5 device, how do you get 12?", well it's 8 device internally plus unlimited devices if you set up the device multiplexer (an extension that switched device codes on the fly). That's how I do 12. I could do hundreds if I wanted.
In any case, out of the box, the RCA can easily do what the OP asks, including discretes for bullet-proof macros and use keymoves and vol lock for key group mapping. With the addition of a JP1 cable, he can do even more than a harmony can do. That's why I recommended that specific model of JP1 remote rather than GE, Sony, Philips, etc., which are pretty worthless, but could still do a few simple macros and limited key group mapping.